summaryrefslogtreecommitdiff
path: root/_test/README
blob: 099290a0dbea6058b95c85c1ab3e571a46a8d93a (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
72
73
74
75
76
77
78
79
80
81
82
83
84
--------------------------------------------------------------------------------
 Dokuwiki Unit Test Suite
--------------------------------------------------------------------------------
$Date: 2004/02/14 02:14:50 $

Credits: to the WACT team - http://www.phpwact.org, from whom the basis of
this test suite was stolen

--------------------------------------------------------------------------------
INSTALLING & SETUP

1. Grab a copy of the SimpleTest unit testing framework an extract somewhere

	http://www.lastcraft.com/simple_test.php
		or
	http://sourceforge.net/projects/simpletest

2. Edit ./tests.ini

	- TEST_ENABLED - set to "1" to allow the test suite to be used
	by vistors to your site. Generally best to leave as 0 for
	a productive site - running tests alot will hammer the server 
	Note: you will still be able to run the tests from the command
	line even when this is set to 0

	- WEB_TEST_URL - this is for running "web tests" where SimpleTest
	acts as a web browser and executes HTTP requests against pages.
	Should point at your Dokuwiki URL e.g.
	
	http://localhost/dokuwiki

	- PROXY - if you're behind a proxy, specify it here
	Note: username / password are optional e.g.

	http://proxyuser:proxypwd@proxy.yourdomain.com:8080

	- REMOTE_TEST_URL - it's possible to run the full test suite
	remotely (over HTTP) with some XML goodness. This should
        point at the URL of the test suite you want to test
	See the following URL for more info;
	http://www.sitepoint.com/blogs/2004/06/15/simple-test-remote-testing/

	- Simple Test
        Update the library_path to point at the directory where you installed
	Simple Test

--------------------------------------------------------------------------------
RUNNING THE TESTS

You can run the tests in three ways. From the command line:

	$ ./runtests.php -h

Using a web browser;

	http://localhost/dokuwiki/_test/index.php

As remote tests run on a remote serveri (specified in tests.ini with REMOTE_TEST_URL) and driven locally from the command line using;

	$ ./remotetests.php -h


--------------------------------------------------------------------------------
ADDING TESTS

The test cases are kept in the './cases' directory in a directory structure
mirroring that of the Dokuwiki's

Files with the extension .group.php are group tests (collections of
one or more seperate unit test files) - there should be one group
test per file in Dokuwiki's real directory.

Individual tests files have the extension .test.php

To add tests, create a .test.php file in the correct directory under ./cases
Probably best to use one of the existing scripts as a basis

The test will not be executable via one of the test runners (see above).

To add it to a group of tests, modify the corresponding .group.php file.

One exception to the naming convention - files named .webtest.php and
.webgroup.php are run using SimpleTest's browser simulator.