You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello, thanks for the well-documented project! A quick question: do you have any examples for testing async functions such as http_get() or buffer_save_async(), where the response comes back a few frames later in the Async event?
The text was updated successfully, but these errors were encountered:
@shichen85 Thank you for the input!
Right now it has no support for E2E tests related to http requests or code using the async event since I haven't found a way to simulate in one frame the async_load you should receive outside the async events, but it's on my backlog and was an idea that I had during the first iterations.
Hopefully I'll be able to implement it for later releases, I will tag this issue/question when that happens!
@shichen85 Thank you for the input! Right now it has no support for E2E tests related to http requests or code using the async event since I haven't found a way to simulate in one frame the async_load you should receive outside the async events, but it's on my backlog and was an idea that I had during the first iterations.
Hopefully I'll be able to implement it for later releases, I will tag this issue/question when that happens!
Thanks for the reply!
I have never not thought about using synchronous simulations to test async logics before, but after taking a look at your implementation of GMTL_core_test_events I can see how that can work, and it is very inspiring! Perhaps using event_perform_async followed by event_perform_object on an object that is meant to handle async events could achieve the purpose.
Testing async logic has long been my desire, but it took me a while to figure out how to support them in GML. I eventually developed a testing GML library called Olympus that was inspired by MochaJS, and I structured each test/it block to behave like a Javascript Promise so that I could wait for them to resolve or reject and pass the result back to test/it block to analyze and match. Here is an example of testing http_get. I am mostly happy with the implementation and have been using that to test various async functions or objects in my runtime test suite, but I think the function signature is still hard to reason through for first time users.
Anyways, I am very excited for more discussions on testing in the GML space. Hit me up if you ever want to talk more on it!
Hello, thanks for the well-documented project! A quick question: do you have any examples for testing async functions such as http_get() or buffer_save_async(), where the response comes back a few frames later in the Async event?
The text was updated successfully, but these errors were encountered: