MovingBlocks
Advanced Integration Testing - validate a thing in-game automatically
Beyond manual testing, writing test plans, and basic unit testing there are more advanced sorts of testing that can be done with the help of tools. Terasology has a game environment testing class called the ModuleTestingEnvironment (MTE) that can start a headless game server, connect clients to it, and simulate activities that can then be validated against.
Your task is to use this class to validate some activity from a module. A good place to look for what to test is the Test Plans in the various content module wikis. Automating all of a test plan is not required but would be amazing.
Definition of 'Done'
- A PR is submitted to a module repo with tests using the MTE test suite
- Should contain at least two/three tests.
- A screenshot or copy paste a successful execution of the MTE test suite.
Where to start
- See the MTE instructions at in it's repo and its forum thread
- Read one or more of the test plans, try following them manually in-game, review the code they're exercising, then use the MTE to cause each step of what you previously did manually in the game client
- The tests in SimpleFarming which use the MTE.
See also
- The test plan tasks - you can do one of those first then write an MTE test suite to validate each step in the test plan
- The various other unit test related tasks (doing those first as well could be helpful)
- The task to add a generic test
Task tags
Students who completed this task
eviltak, Aleksander Wójtowicz