Newer
Older
Testing
=======
All tests should be in "tests/". The directory structure there replicates the
main structure of the code. Each class Whatever is tested by a class named
WhateverTest.php, following the same path as the original.
The test classes (WhateverTest) need to extend PHPUnit_Framework_TestCase, and
inside you can implement how many methods you want. phpunit will only run the
ones prefixed with "test".
You'd usually use the $this->assertSomething() methods provided by
PHPUnit_Framework_TestCase, but you can also tell phpunit to expect an
exception to be thrown using phpdoc:
```
/**
* Test SimpleSAML\Utils\HTTP::addURLParameters().
*
* @expectedException \InvalidArgumentException
*/
```
Run the tests locally by hiding the config-directory in the root (as the tests cannot use that) and running:
```
phpunit -c tools/phpunit/phpunit.xml
```
After you've pushed a change, Travis-CI will run your test in the CI platform.
Todo
----
The tests should use namespaces.