# PHPUnit袖珍指南 第八章 未完成测试

public function testSomething( ) {

}

// Stop here and mark this test as incomplete.

// You could use any Exception which implements the

// PHPUnit2_Framework_IncompleteTest interface.

throw new PHPUnit2_Framework_IncompleteTestError(

'This test has not been implemented yet.'

);

}

}

?>

An incomplete test is denoted by an I in the output of the PHPUnit command-line test runner, as shown in the following example:

phpunit SampleTest

PHPUnit 2.3.0 by Sebastian Bergmann.

I

Time: 0.006657

There was 1 incomplete test case:

1) testSomething(SampleTest)

This test has not been implemented yet.

OK, but incomplete test cases!!!

Tests run: 1, incomplete test cases: 1.

--------------------------------------------------------------------------------------------------------------------

Chapter 8. Incomplete Tests

When you are working on a new test-case class, you might want to begin by writing empty test methods, such as:

public function testSomething( ) {

}

to keep track of the tests that you have to write. The problem with empty test methods is that they are interpreted as a success by the PHPUnit framework. This misinterpretation leads to the test reports being uselessyou cannot see whether a test is actually successful or just not yet implemented. Calling $this->fail( ) in the unimplemented test method does not help either because then the test will be interpreted as a failure. This would be just as wrong as interpreting an unimplemented test as a success. If we think of a successful test as a green light, and a test failure as a red light, we need an additional yellow light to mark a test as being incomplete or not yet implemented. PHPUnit2_ Framework_IncompleteTest is a marker interface for marking an exception that is raised by a test method as the result of the test being incomplete or not currently implemented. PHPUnit2_Framework_IncompleteTestError is the standard implementation of this interface. Example 9 shows a test-case class, SampleTest, that contains one test method, testSomething( ). By raising the PHPUnit2_ Framework_IncompleteTestError exception in the test method, we mark the test as being incomplete. Example 9. Marking a test as incomplete <?php require_once 'PHPUnit2/Framework/TestCase.php'; require_once 'PHPUnit2/Framework/IncompleteTestError.php'; class SampleTest extends PHPUnit2_Framework_TestCase { public function testSomething( ) { // Optional: Test anything here, if you want.$this->assertTrue(TRUE, 'This should already work.');

// Stop here and mark this test as incomplete.

// You could use any Exception which implements the

// PHPUnit2_Framework_IncompleteTest interface.

throw new PHPUnit2_Framework_IncompleteTestError(

'This test has not been implemented yet.'

);

}

}

?>

An incomplete test is denoted by an I in the output of the PHPUnit command-line test runner, as shown in the following example:

phpunit SampleTest

PHPUnit 2.3.0 by Sebastian Bergmann.

I

Time: 0.006657

There was 1 incomplete test case:

1) testSomething(SampleTest)

This test has not been implemented yet.

OK, but incomplete test cases!!!

Tests run: 1, incomplete test cases: 1.

• 本文已收录于以下专栏：

举报原因： 您举报文章：PHPUnit袖珍指南 第八章 未完成测试 色情 政治 抄袭 广告 招聘 骂人 其他 (最多只允许输入30个字)