dokuwiki/_test
Phy b53267d3a1
Change cases of assertTrue in tests
2020-03-07 12:17:03 -05:00
..
conf Use config cascade for style.ini files 2019-02-28 13:45:19 +01:00
core Fix curly brace deprecations in _test/ directory. 2019-10-31 13:24:50 +01:00
data move test page somewhere else to not interfere with other tests 2017-09-02 14:49:06 +02:00
mock Merge branch 'psr2-pluginredux' into psr2 2019-05-19 11:09:54 +02:00
tests Change cases of assertTrue in tests 2020-03-07 12:17:03 -05:00
README Fixed broken links to php.net and redirecting pages to php.net 2016-06-14 08:48:12 +02:00
bootstrap.php fix Windows tests for #2702 2019-03-11 23:38:43 -04:00
fetchphpunit.php lock fetch PHPUnit version to 7 for PHP5 2019-09-09 02:44:57 -04:00
mysql.conf.php.dist added a postgres example database to the tests 2016-03-11 15:12:52 +01:00
pgsql.conf.php.dist added a postgres example database to the tests 2016-03-11 15:12:52 +01:00
phpcs.xml Split out temporary code style excludes 2020-02-19 10:55:56 +01:00
phpcs_MigrationAdjustments.xml Split out temporary code style excludes 2020-02-19 10:55:56 +01:00
phpunit.xml Also allow test files ending in Test.php 2018-05-20 11:56:24 +02:00

README

====== DokuWiki Test Suite ======

This is the test suite to automatically test various parts of DokuWiki.

===== Requirements =====

  * PHPUnit 3.6.10+ http://www.phpunit.de/
  * PHP 5.3+ http://php.net

===== PHPUnit Installation ======

You can install phpunit through your distribution's package manager or simply
download the newest phar file into the _test directory:

  cd _test/
  wget https://phar.phpunit.de/phpunit.phar


===== Running all tests =====

Just change to the ''_test'' directory and run phpunit (depending on your install
method):

  cd _test/
  phpunit

or

  cd _test/
  php phpunit.phar

===== Troubleshooting =====

PHPUnit will fail on some systems with a //headers already sent// error.
This is a known problem with PHPUnit, the error can be avoided by passing the
'--stderr' flag to phpunit:

  phpunit --stderr

On windows you may have to enable OpenSSL support for https tests.
Some of them point to httpclient_http.tests.php on the failure.
To enable HTTPS support copy the ''libeay32.dll'' and ''ssleay32.dll''
to your ''windows\system32'' folder and add the following line to your php.ini
in the extension section:

<code ini>
extension=php_openssl.dll
</code>

===== Running selected Tests =====

You can run a single test file by providing it as an argument to phpunit:

  phpunit tests/inc/common_cleanText.test.php

You can also use groups to exclude certain test from running. For example use
the following command to avoid long running test or tests accessing the
Internet.

  phpunit --exclude-group slow,internet

===== Create new Tests =====

To create a test for DokuWiki, create a *.test.php file within the tests/
folder. Please respect the folder structure and naming convention. Inside the
file, implement a class, extending 'DokuWikiTest'. Every method, starting
with 'test' will be called as a test (e.g. 'testIfThisIsValid');

===== TODO for the test framework =====

  * optional: add helper methods to TestRequest for easy form submission
    * createForm(), ...
  * check PHP Unit test_helpers https://github.com/sebastianbergmann/php-test-helpers