DokuWiki

It's better when it's simple

User Tools

Site Tools


devel:ideas:testing_system

Testing System

This idea has been implemented

Currently we are using a testing system based upon Simple Test. However there are currently some limitations:

  • 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

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.

Requirements

  • You should know PHP and some JavaScript might help, too.
  • You should be familiar or get familiar with testing.

Difficulty

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.

Continuous Integration

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/.

Mentors

The following people volunteered to “mentor” any new developers taking up this task by answering questions, giving tips and reviewing code:

Status

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.

devel/ideas/testing_system.txt · Last modified: 2015-02-12 11:58 by andi

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki