Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Unit testing, mock objects and web testing framework for PHP built around test cases.
PHP JavaScript
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
docs
extensions
packages
test
tutorials/SimpleTest
HELP_MY_TESTS_DONT_WORK_ANYMORE
LICENSE
README
TODO.xml
VERSION
arguments.php
authentication.php
autorun.php
browser.php
collector.php
compatibility.php
cookies.php
default_reporter.php
detached.php
dumper.php
eclipse.php
encoding.php
errors.php
exceptions.php
expectation.php
form.php
frames.php
http.php
invoker.php
mock_objects.php
page.php
php_parser.php
recorder.php
reflection_php4.php
reflection_php5.php
remote.php
reporter.php
scorer.php
selector.php
shell_tester.php
simpletest.php
socket.php
tag.php
test_case.php
tidy_parser.php
unit_tester.php
url.php
user_agent.php
web_tester.php
xml.php

README

SimpleTest
==========

You probably got this package from:

    http://simpletest.org/en/download.html

If there is no licence agreement with this package please download
a version from the location above. You must read and accept that
licence to use this software. The file is titled simply LICENSE.

What is it? It's a framework for unit testing, web site testing and
mock objects for PHP 5.0.5+.

If you have used JUnit, you will find this PHP unit testing version very
similar. Also included is a mock objects and server stubs generator.
The stubs can have return values set for different arguments, can have
sequences set also by arguments and can return items by reference.
The mocks inherit all of this functionality and can also have
expectations set, again in sequences and for different arguments.

A web tester similar in concept to JWebUnit is also included. There is no
JavaScript or tables support, but forms, authentication, cookies and
frames are handled.

You can see a release schedule at http://simpletest.org/en/overview.html
which is also copied to the documentation folder with this release.
A full PHPDocumenter API documentation exists at
http://simpletest.org/api/.

The user interface is minimal in the extreme, but a lot of information 
flows from the test suite. After version 1.0 we will release a better 
web UI, but we are leaving XUL and GTK versions to volunteers as 
everybody has their own opinion on a good GUI, and we don't want to 
discourage development by shipping one with the toolkit. You can 
download an Eclipse plug-in separately. 

The unit tests for SimpleTest itself can be run here:

    test/unit_tests.php

And tests involving live network connections as well are here:

    test/all_tests.php

The full tests will typically overrun the 8Mb limit often allowed
to a PHP process. A workaround is to run the tests on the command
with a custom php.ini file or with the switch -dmemory_limit=-1
if you do not have access to your server version.

The full tests read some test data from simpletest.org. If the site
is down or has been modified for a later version then you will get
spurious errors. A unit_tests.php failure on the other hand would be
very serious. Please notify us if you find one.

Even if all of the tests run please verify that your existing test suites
also function as expected. The file:

    HELP_MY_TESTS_DONT_WORK_ANYMORE

...contains information on interface changes. It also points out
deprecated interfaces, so you should read this even if all of
your current tests appear to run.

There is a documentation folder which contains the core reference information
in English and French, although this information is fairly basic.
You can find a tutorial on...

    http://simpletest.org/en/first_test_tutorial.html

...to get you started and this material will eventually become included
with the project documentation. A French translation exists at:

    http://simpletest.org/fr/first_test_tutorial.html

If you download and use, and possibly even extend this tool, please let us
know. Any feedback, even bad, is always welcome and we will work to get
your suggestions into the next release. Ideally please send your
comments to:

    simpletest-support@lists.sourceforge.net

...so that others can read them too. We usually try to respond within 48
hours.

There is no change log except at Sourceforge. You can visit the
release notes to see the completed TODO list after each cycle and also the
status of any bugs, but if the bug is recent then it will be fixed in SVN only.
The SVN check-ins always have all the tests passing and so SVN snapshots should
be pretty usable, although the code may not look so good internally.

Oh, and one last thing: SimpleTest is called "Simple" because it should 
be simple to use. We intend to add a complete set of tools for a test 
first and "test as you code" type of development. "Simple" does not mean 
"Lite" in this context. 

Thanks to everyone who has sent comments and offered suggestions. They
really are invaluable, but sadly you are too many to mention in full.
Thanks to all on the advanced PHP forum on SitePoint, especially Harry
Fuecks. Early adopters are always an inspiration.

 -- Marcus Baker, Jason Sweat, Travis Swicegood, Perrick Penet and Edward Z. Yang.
Something went wrong with that request. Please try again.