Phpunit, ожидаемый метод (true) и method (false)

0

Я хочу проверить это:

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

это, конечно, не работает. Мне нужно нечто вроде "множественного" исключения.

  • 0
    Разве вы не можете сделать это в отдельных тестах с @expectedException?
  • 0
    ? Я не жду "исключения". Я жду, что метод () запустится с параметрами "истина" и "ложь"
Показать ещё 1 комментарий
Теги:
phpunit

1 ответ

1
Лучший ответ

Я думаю, что то, что вам нужно, можно withConsecutive используя 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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню