Phpunit,expect方法(true)和方法(false)

时间:2014-11-18 19:12:08

标签: php phpunit

我想测试一下:

$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));

这当然不起作用。我需要一种"倍数"异常。

1 个答案:

答案 0 :(得分:1)

我认为您需要的是使用withConsecutive

改编自PHPUnit文档的示例:

    $mock = $this->getMock('ClassToBeTested', array('method'));
    $mock->expects($this->exactly(2))
         ->method('method')
         ->withConsecutive(
             array(true),
             array(false)
         );

    $mock->method(true);        
    $mock->method(false);

请查看此处的withConsecutive示例:

https://phpunit.de/manual/current/en/test-doubles.html