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)

Task tags

  • logistics
  • testing
  • integration testing
  • automation

Students who completed this task

eviltak, Aleksander Wójtowicz

Task type

  • code Code
  • done_all Quality Assurance
close

2017