【发布时间】:2016-12-27 19:20:40
【问题描述】:
我想断言传递给 PHPUnit 测试方法的值/对象是由 getMockBuilder 初始化的模拟。例如:
class Example_Test extends PHPUnit_Framework_TestCase
{
...
public function testMethod(Some_Class $object_mock)
{
// since methods like "expects" will be used below,
// this needs to be a mock
assert('$this->isMock($object_mock)');
...
$object_mock->expects($this->atLeastOnce())
->method('reallyCoolThingThatMustHappen')
->with(
$this->equalTo('absolutely_necessary_argument')
);
...
}
}
有谁知道可以用来断言$object_mock 是 PHPUnit 模拟的方法吗? (我知道 isMock 不存在,但我把它放在那里作为我正在尝试做的一个例子)。
【问题讨论】:
-
当调用
isMock()方法时,您的模拟可以设置为返回true:$object_mock->method('isMock') ->willReturn(true); -
@MarkBaker 好主意。但如果它不是模拟,我也需要它返回 false。
标签: php unit-testing phpunit