|This idea has been implemented|
- All tests are run in the same context, there is no way to run each test case really isolated
- well, you can run a test isolated manually, but there's no way to run all tests but have each run in it's own context and environment
- There is no real testing environment with a different configuration, different data directories etc.
We would like to have the following new features:
- A testing environment with a data directory that has a defined state when the test starts. This could be inspired by the things that are suggested in farm for changing the data directory and either providing a PHP API for easily setting up an environment with a specific configuration and set of pages or by providing conf and data directories for each test. This environment should be cleaned after each test and there should be a default state that is restored.
- Integration of frontend testing
- Automated testing of new commits (Continuous Integration) would be nice, too
- maybe using generic-ci or something similar
Changing our whole testing system to use PHPUnit is an option for us.
We also have unittests for plugins and templates, they should of course also work with the new system.
- You should be familiar or get familiar with testing.
Medium You should get familiar with the parts farm changes for the setup of the testing environment and need to get familiar with the different testing systems. The remaining part is probably rewriting existing tests to use the new system.
deprecated: https://github.com/dom-mel/dokuwiki/tree/phpunit is preparing phpunit usage which works greatly with generic-ci out-of-the box. The result can be watched here: http://dwbuilds.linesofcode.org/.
The following people volunteered to “mentor” any new developers taking up this task by answering questions, giving tips and reviewing code:
Unittests are performed today by PHPUnit. At http://test.dokuwiki.org/ are executed tests available for the master and not merged branches, including a code coverage report.