summaryrefslogtreecommitdiff
path: root/_test/README
blob: 1380d1f5266bb6e5a0b048b3247b276abd445c93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
DokuWiki Test Suite
=============================================================================

Content of this document:

  * Requirements
  * Installation of PHPUnit via Pear
  * Running all Tests
  * Create new Tests
  * TODO for test framework
  * Migration Protocol



Requirements
-----------------------------------------------------------------------------

  * PHPUnit 3.6.10+
    http://www.phpunit.de/


Installation of PHPUnit via Pear
-----------------------------------------------------------------------------

  > pear config-set auto_discover 1
  > pear upgrade
  > pear install pear.phpunit.de/PHPUnit


Running all Tests
-----------------------------------------------------------------------------

  > cd _testing/
  > phpunit

PHPUnit will fail on some systems with the error 'headers already sent'. The
known workaround for that is to use the '--stderr' flag for PHPUnit:

  > phpunit --stderr


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

  * test cross platform compatibility: especially test windows
  * update http://www.dokuwiki.org/devel:unittesting
  * optional: add helper methods to TestRequest for easy form submission
    * createForm(), ...


Migration Protocol
-----------------------------------------------------------------------------

The following tests were not migrated:

  * inc/html_hilight (runkit)
  * inc/indexer_idx_indexlengths (fs dependencies)
  * inc/mail_send (integration test)
  * inc/parser/parser_formatting
  * inc/parser/xhtml_htmlphp (runkit)
  * inc/parser/xhtml_links