Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add game level E2E testing system #152

Open
ensisoft opened this issue Apr 4, 2023 · 0 comments
Open

Add game level E2E testing system #152

ensisoft opened this issue Apr 4, 2023 · 0 comments

Comments

@ensisoft
Copy link
Owner

ensisoft commented Apr 4, 2023

Add a mechanism to do E2E testing in a running game. This feature can do high level testing of the whole stack and identify bugs in both engine and the current game doing the testing.

Some current thoughts on the matter.

  • The testing logic should run in Lua since the testing needs to be flexible and scriptable.
  • Test results, expected outcome/state is likely to be tested by checking engine object states and rendering result.
    -- Need a facility to invoke screen shot and reference screenshot (gold image) checking from Lua
  • Testing likely needs to be able to generate simulated user input of all kind, i.e. mouse, keyboard, touch events.
  • Event recording facility already exists in the editor. need to enhance this so that some capture can be re-used by the testing Lua code in order to run a scripted/pre-recorded order of input events in order to arrive to some particular expected state.
  • Need some way to report the testing results / state from the Lua code to the editor UI

Create a new game main script that is the test.lua. This would be an alternative main script and when the playback is started in testing mode the main script changes from game script to test script. This needs to be configurable in the workspace/project settings.

Provide a testing flag to the Lua state.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant