Cannot save or change assets after running a automation test?
Hey so recently our project has grown to the point where I need to rely on automation tests to make sure that I do not break assets while working in parts of the game for the most part AI behaviour trees. As such I have implemented some Automation Tests for some of the core tasks for our ai, such as spawning in a world, some units suffering damage, and a single unit with the healing ability to test how he responds etc. I can easily perform situational testing then, debugging blueprints etc. and its fantastic. However after running a automation test the ability to save any assets does not work, neither the Ctrl+s shortcut nor the in editor save button. I am using the perforce plugin for my project, and my tests use the following to queue up the test environments
For the most part the most complex thing I do is use the AutomationOpenMap() to open a map which launches a Standalone Editor window, then I use the GEngine world contexts to spawn some units in as I would normally. Atm I don't SetSuccess on the tests (I really should but I'm currently not) and I will quite often stop tests midway manually once I identify a problem I need to resolve. Anyway I currently have to restart the editor apply a fix and retest, would love to know if theres anything I can do to remove the 'restart the editor' step from my bug fixing loop.
Thanks ahead of time. :D
asked Jan 03 '18 at 03:11 AM in C++ Programming
I was able to repro this, and have entered it as UE-53777. From what I've been able to determine, stopping the test framework in the middle of a long-running latent command blocks the save functionality. Until this is fixed, you should be able to mitigate this be restructuring your tests to return as soon as the behavior under test can be verified instead of relying on extremely long waits.
I strongly recommend against editing the automation test macros. If you need behavior that the macros don't provide, it would be better to create a custom subclass of FAutomationTestBase instead (see FClientFunctionalTestingMaps in ClientFuncTestPerforming.cpp as an example).
answered Jan 05 '18 at 04:31 PM
Adr1c ♦♦ STAFF
Follow this question
Once you sign in you will be able to subscribe for any updates here