本节主要内容:
PHPUnit Fixture
在编写测试用例时,可能最费时间的就是编写那些将程序设置到使用状态和测试完毕之后将其再设置回初始状态的代码了。
PHPUnit提供了setUp和tearDown这两个方法来解决这个问题。
setUp会在类的每个测试用例运行之前被调用,可以在里面做一些相关的程序初始化的工作
tearDown方法则会在本类每个测试用例运行完毕之后调用,你可以在里面进行一些相关的清理工作
需要注意的是,不一定写了setUp就要对应写tearDown,tearDown里面用来回收那些占用资源比较大的对象,如连接上的数据库,打开的文件等等。
简单的演示setUp方法例子:
除了setUp和tearDown之外,phpUnit还提供了一些方法来实现更多的准备工作,请看下图:
以上代码测试的结果,如下:
phpunit TemplateMethodsTest
PHPUnit 3.5.13 by Sebastian Bergmann.
TemplateMethodsTest::setUpBeforeClass
TemplateMethodsTest::setUp
TemplateMethodsTest::assertPreConditions
TemplateMethodsTest::testOne
TemplateMethodsTest::assertPostConditions
TemplateMethodsTest::tearDown
.TemplateMethodsTest::setUp
TemplateMethodsTest::assertPreConditions
TemplateMethodsTest::testTwo
TemplateMethodsTest::tearDown
TemplateMethodsTest::onNotSuccessfulTest
FTemplateMethodsTest::tearDownAfterClass
Time: 0 seconds
There was 1 failure:
1) TemplateMethodsTest::testTwo
Failed asserting that <boolean:false> is true.
/home/sb/TemplateMethodsTest.php:30
FAILURES!
Tests: 2, Assertions: 2, Failures: 1.