2017-05-05 18 views
1

PHPUnits 자신의 조롱 기능 대신 Mockery을 사용하기 시작했습니다.PHPUnits, returnValueMap에 해당하는 모의 사례

모의 동물은 PHPUnits returnValueMap에 상응하는 기능을 제공합니까? 메서드 호출에 제공된 특정 인수 값을 기반으로 특정 값을 반환 할 수 있습니까?

이것은 PHPUnit을 사용하는 방법입니다.

<?php 

$stub = $this->createMock(SomeClass::class); 

$map = [ 
    ['a', 'b', 'c', 'd'], 
    ['e', 'f', 'g', 'h'] 
]; 

$stub->method('doSomething') 
    ->will($this->returnValueMap($map)); 

$this->assertEquals('d', $stub->doSomething('a', 'b', 'c')); 
$this->assertEquals('h', $stub->doSomething('e', 'f', 'g')); 

답변

0

제 질문은 나 자신을위한 순간입니다. 대만족 ...

<?php 

$stub = \Mockery::mock(SomeClass::class); 

$stub->shouldReceive('doSomething')->with('a', 'b', 'c')->andReturn('d'); 
$stub->shouldReceive('doSomething')->with('e', 'f', 'g')->andReturn('h'); 

$this->assertEquals('d', $stub->doSomething('a', 'b', 'c')); 
$this->assertEquals('h', $stub->doSomething('e', 'f', 'g')); 

:이 phpunit을에 returnValueMap()을 사용하는 조롱에 해당합니다.