【发布时间】:2014-08-08 19:43:44
【问题描述】:
在我的测试类设置中,我为用户创建了一个模拟对象。创建模拟时,它会执行以下操作:
$other = $this->getMock( 'Other' );
$user->expects( $this->any() )
->method( '_getOtherInstance' )
->will( $this->returnValue( $other ) );
现在在删除用户时,调用_getOtherInstance删除三级信息。
当我在我的测试类'tearDown 中运行删除时,parent::tearDown 之前,_getOtherInstance 返回null。
我知道模拟设置正确,因为在 setUp 中运行 delete 有效。
这里的tearDown有什么特别之处?我想 PHPUnit 会取消所有的模拟以及它们返回的内容,但在我用parent::tearDown 调用链之前不会。
【问题讨论】:
-
您应该展示您在
setUp、测试本身和tearDown中的代码(或示例代码)。您可能根本不应该进行任何拆解。
标签: php unit-testing mocking phpunit