【发布时间】:2014-11-18 19:12:07
【问题描述】:
我想测试一下:
$object->method(true);
$object->method(false);
我想这样测试它们:
$mock1 = $this->getMock ('ClassToBeTested', array('method'));
$mock1->expects ($this->at(1))->once()->method('method')->with($this->equalTo(false));
$mock1->expects ($this->at(2))->once()->method('method')->with($this->equalTo(true));
这当然行不通。我需要一种“多重”异常。
【问题讨论】:
-
你不能在单独的测试中使用@expectedException吗?
-
?我不等待“例外”。我等待方法()以“真”和“假”参数运行
-
at() 用于调用、对方法的第一次调用、第二次调用等......您仍然可以简单地使用模拟调用方法、使用 2 个测试和 setUp( )/tearDown() 方法来包装模拟创建,并简单地模拟调用。 $mock1->expects($this->method('method')->with($this0>equalTo(false/true));