Program Tip

PHPUnit 모의 객체에서 두 번째 매개 변수를 테스트하는 방법

programtip 2020. 11. 21. 09:26
반응형

PHPUnit 모의 객체에서 두 번째 매개 변수를 테스트하는 방법


이것이 내가 가진 것입니다.

$observer = $this->getMock('SomeObserverClass', array('method'));
$observer->expects($this->once())
         ->method('method')
         ->with($this->equalTo($arg1));

그러나 메서드는 두 개의 매개 변수를 가져야합니다. 첫 번째 매개 변수가 $ arg1로 올바르게 전달되고 있는지 테스트하고 있습니다.

두 번째 매개 변수를 어떻게 테스트합니까?


이 작업을 수행하는 방법은 다음과 같습니다.

$observer->expects($this->once())
     ->method('method')
     ->with($this->equalTo($arg1),$this->equalTo($arg2));

또는

$observer->expects($this->once())
     ->method('method')
     ->with($arg1, $arg2);

두 번째 인수에 대해 다른 유형의 주장을 수행해야하는 경우에도 그렇게 할 수 있습니다.

$observer->expects($this->once())
     ->method('method')
     ->with($this->equalTo($arg1),$this->stringContains('some_string'));

일부 인수가 여러 어설 션을 전달하는지 확인해야하는 경우 logicalAnd ()를 사용하십시오.

$observer->expects($this->once())
     ->method('method')
     ->with($this->logicalAnd($this->stringContains('a'), $this->stringContains('b')));

참고 URL : https://stackoverflow.com/questions/311485/how-to-test-a-second-parameter-in-a-phpunit-mock-object

반응형