| 1 |
lars |
1 |
SimpleTest
|
|
|
2 |
==========
|
|
|
3 |
You probably got this package from...
|
|
|
4 |
http://sourceforge.net/projects/simpletest/
|
|
|
5 |
|
|
|
6 |
If there is no licence agreement with this package please download
|
|
|
7 |
a version from the location above. You must read and accept that
|
|
|
8 |
licence to use this software. The file is titled simply LICENSE.
|
|
|
9 |
|
|
|
10 |
What is it? It's a framework for unit testing, web site testing and
|
|
|
11 |
mock objects for PHP 4.2.0+.
|
|
|
12 |
|
|
|
13 |
If you have used JUnit you will find this PHP unit testing version very
|
|
|
14 |
similar. Also included is a mock objects and server stubs generator.
|
|
|
15 |
The stubs can have return values set for different arguments, can have
|
|
|
16 |
sequences set also by arguments and can return items by reference.
|
|
|
17 |
The mocks inherit all of this functionality and can also have
|
|
|
18 |
expectations set, again in sequences and for different arguments.
|
|
|
19 |
|
|
|
20 |
A web tester similar in concept to JWebUnit is also included. There is no
|
|
|
21 |
JavaScript or tables support, but forms, authentication, cookies and
|
|
|
22 |
frames are handled.
|
|
|
23 |
|
|
|
24 |
You can see a release schedule at http://www.lastcraft.com/overview.php
|
|
|
25 |
which is also copied to the documentation folder with this release.
|
|
|
26 |
A full PHPDocumenter API documentation exists at
|
|
|
27 |
http://simpletest.sourceforge.net/.
|
|
|
28 |
|
|
|
29 |
The user interface is minimal
|
|
|
30 |
in the extreme, but a lot of information flows from the test suite.
|
|
|
31 |
After version 1.0 we will release a better web UI, but we are leaving XUL
|
|
|
32 |
and GTk versions to volunteers as everybody has their own opinion
|
|
|
33 |
on a good GUI, and we don't want to discourage development by shipping
|
|
|
34 |
one with the toolkit.
|
|
|
35 |
|
|
|
36 |
You are looking at a first full release. The unit tests for SimpleTest
|
|
|
37 |
itself can be run here...
|
|
|
38 |
|
|
|
39 |
simpletest/test/unit_tests.php
|
|
|
40 |
|
|
|
41 |
And tests involving live network connections as well are here...
|
|
|
42 |
|
|
|
43 |
simpletest/test/all_tests.php
|
|
|
44 |
|
|
|
45 |
The full tests will typically overrun the 8Mb limit usually allowed
|
|
|
46 |
to a PHP process. A workaround is to run the tests on the command
|
|
|
47 |
with a custom php.ini file if you do not have access to your server
|
|
|
48 |
version.
|
|
|
49 |
|
|
|
50 |
You will have to edit the all_tests.php file if you are accesssing
|
|
|
51 |
the internet through a proxy server. See the comments in all_tests.php
|
|
|
52 |
for instructions.
|
|
|
53 |
|
|
|
54 |
The full tests read some test data from the LastCraft site. If the site
|
|
|
55 |
is down or has been modified for a later version then you will get
|
|
|
56 |
spurious errors. A unit_tests.php failure on the other hand would be
|
|
|
57 |
very serious. As far as we know we haven't yet managed to check in any
|
|
|
58 |
unit test failures so please correct us if you find one.
|
|
|
59 |
|
|
|
60 |
Even if all of the tests run please verify that your existing test suites
|
|
|
61 |
also function as expected. If they don't see the file...
|
|
|
62 |
|
|
|
63 |
HELP_MY_TESTS_DONT_WORK_ANYMORE
|
|
|
64 |
|
|
|
65 |
This contains information on interface changes. It also points out
|
|
|
66 |
deprecated interfaces so you should read this even if all of
|
|
|
67 |
your current tests appear to run.
|
|
|
68 |
|
|
|
69 |
There is a documentation folder which contains the core reference information
|
|
|
70 |
in English and French, although this information is fairly basic.
|
|
|
71 |
You can find a tutorial on...
|
|
|
72 |
|
|
|
73 |
http://www.lastcraft.com/first_test_tutorial.php
|
|
|
74 |
|
|
|
75 |
...to get you started and this material will eventually become included
|
|
|
76 |
with the project documentation. A French translation exists at...
|
|
|
77 |
|
|
|
78 |
http://www.onpk.net/index.php/2005/01/12/254-tutoriel-simpletest-decouvrir-les-tests-unitaires.
|
|
|
79 |
|
|
|
80 |
If you download and use and possibly even extend this tool, please let us
|
|
|
81 |
know. Any feedback, even bad, is always welcome and we will work to get
|
|
|
82 |
your suggestions into the next release. Ideally please send your
|
|
|
83 |
comments to...
|
|
|
84 |
|
|
|
85 |
simpletest-support@lists.sourceforge.net
|
|
|
86 |
|
|
|
87 |
...so that others can read them too. We usually try to respond within 48
|
|
|
88 |
hours.
|
|
|
89 |
|
|
|
90 |
There is no change log as yet except at Sourceforge. You can visit the
|
|
|
91 |
release notes to see the completed TODO list after each cycle and also the
|
|
|
92 |
status of any bugs, but if the bug is recent then it will be fixed in CVS only.
|
|
|
93 |
The CVS check-ins always have all the tests passing and so CVS snapshots should
|
|
|
94 |
be pretty usable, although the code may not look so good internally.
|
|
|
95 |
|
|
|
96 |
Oh, yes. It is called "Simple" because it should be simple to
|
|
|
97 |
use. We intend to add a complete set of tools for a test first
|
|
|
98 |
and "test as you code" type of development. "Simple" does not
|
|
|
99 |
mean "Lite" in this context.
|
|
|
100 |
|
|
|
101 |
Thanks to everyone who has sent comments and offered suggestions. They
|
|
|
102 |
really are invaluable, but sadly you are too many to mention in full.
|
|
|
103 |
Thanks to all on the advanced PHP forum on SitePoint, especially Harry
|
|
|
104 |
Feucks. Early adopters are always an inspiration.
|
|
|
105 |
|
|
|
106 |
yours Marcus Baker, Jason Sweat, Travis Swicegood and Perrick Penet.
|
|
|
107 |
--
|
|
|
108 |
marcus@lastcraft.com
|