【发布时间】:2012-12-06 05:43:06
【问题描述】:
方法setUp() 和tearDown() 在每次测试之前和之后被调用。但说真的,有什么真实的例子说明我为什么需要这个?
检查其他人的测试,我总是看到类似的东西:
public function setUp()
{
$this->testsub = new TestSubject();
}
public function tearDown()
{
unset($this->testsub);
}
public function testSomething()
{
$this->assertSame('foo', $this->testsub->getFoo());
}
当然,这种方式与“旧”的局部变量方式几乎没有区别。
【问题讨论】:
-
不同的是,你只需要设置一次代码,不管你的测试类中有多少测试
-
@MarkBaker so...只是在创建测试主题时需要很多行,例如?
-
一个很好的例子是建立一个数据库表并在完成测试时再次销毁它。
-
@Gremo -- setUp 和 tearDown 为类中的 every 测试方法运行。因此,如果您更改对象的变量,您需要在下一次测试中使用新对象
-
我在 30-50 个测试课程的实际场景中使用它
标签: php unit-testing testing phpunit