//Optional: You can test anything.
// Stop here and mark the test as incomplete.
Not all tests may run in a specific environment. Consider an example of a database extraction layer with multiple drivers to support different database systems. MySQL driven tests can of course only be run on a MySQL server. $this->markTestSkipped
require_once 'PHPUnit/Framework.php';
class DatabaseTest extends PHPUnit_Framework_TestCase
{
protected function setUp()
{
if (!extension_loaded('mysqli')) {
$this->markTestSkipped(
'The MySQLi extension is not available.'
);
} }
}
public function testConnection()
{
// ...
}
}
?>
PHPUnit_Framework_TestResult
When you are running all these tests, you need to store all the results somewhere: how many tests were run, which ones failed, and how long they took.
PHPUnit comes with two specific test decorators: PHPUnit_Extensions_RepeatedTest and PHPUnit_Extensions_TestSetup. The former is used to run a test repeatedly and only count as successful if all iterations succeed. The latter one is discussed in Chapter 6.
To customize PHPUnit_Framework_TestResult, there is no need to write its entire subclass. Most of the time, it is enough to implement a new PHPUnit_Framework_TestListener (see Table 22.14) and attach it to the PHPUnit_Framework_TestResult object before running the test.
Example 23.4: Running and observing a test suite
[php] www.2cto.com
require_once 'PHPUnit/Framework.php';
require_once 'ArrayTest.php';
require_once 'SimpleTestListener.php';
// Create a test suite including tests from class ArrayTest.
$suite = new PHPUnit_Framework_TestSuite('ArrayTest');
// Create a test result and attach a SimpleTestListener object as an observer to it.
$result = new PHPUnit_Framework_TestResult;
$result->addListener(new SimpleTestListener);
// Run the test.
$suite->run($result);
?>
http://www.bkjia.com/PHPjc/477859.htmlwww.bkjia.comtruehttp: //www.bkjia.com/PHPjc/477859.htmlTechArticleSet scene to create array Fixtures [php] protected function setUp() { // Create array fixture. $this-fixture = array(); } Kit-level assembler Shared fixture is sharedFixture PHPUnit_F...