phpunit easymock
1.5.0
PHPUnit 모의 객체를 쉽게 구축하는 도우미입니다.
이 라이브러리는 조롱하는 라이브러리가 아닙니다 . 가장 일반적인 모의 코드를 더 쉽게 작성하는 것은 단지 몇 가지 도우미일 뿐입니다.
이는 아무것도 재발명하지 않으며 모든 사용 사례를 다루려는 것이 아니며 가장 일반적인 사용 사례만 포괄합니다.
$ composer require --dev mnapoli/phpunit-easymock
테스트에서 EasyMock을 사용하려면 클래스에 특성을 포함해야 합니다 .
class MyTest extends PHPUnit Framework TestCase
{
use EasyMock EasyMock;
/ / ...
}
다음은 매우 일반적인 PHPUnit 모형의 모습입니다:
$ mock = $ this -> createMock ( ' MyClass ' );
$ mock -> expect ( $ this -> any ())
-> method ( ' sayHello ' )
-> willReturn ( ' Hello ' );
왝!
EasyMock으로 작성하는 방법은 다음과 같습니다.
$ mock = $ this -> easyMock ( ' MyClass ' , [
' sayHello ' => ' Hello ' ,
]);
메소드가 한 번 호출된다고 주장하려면 어떻게 해야 할까요(예: $mock->expect($this->once())
)? 대신 spy()
사용하세요.
$ mock = $ this -> easySpy ( ' MyClass ' , [
' sayHello ' => ' Hello ' ,
]);
값을 반환하도록 메서드를 모의할 수 있습니다.
$ mock = $ this -> easyMock ( ' MyClass ' , [
' sayHello ' => ' Hello ' ,
]);
또는 콜백을 사용하도록:
$ mock = $ this -> easyMock ( ' MyClass ' , [
' sayHello ' => function ( $ name ) {
return ' Hello ' . $ name ;
},
]);
Exception
인스턴스를 제공하여 메소드에서 예외를 발생시키도록 할 수도 있습니다.
$ mock = $ this -> easyMock ( ' MyClass ' , [
' sayHello ' => new RuntimeException ( ' Whoops ' ),
]);
기존 모의 객체에서 mock()
메서드를 다시 호출하는 것이 가능합니다:
$ mock = $ this -> easyMock ( ' MyClass ' );
$ mock = $ this -> easyMock ( $ mock , [
' sayHello ' => ' Hello ' ,
]);
어설션이나 기타 PHPUnit 기능을 사용하려면 다음을 수행하세요.
$ mock = $ this -> easyMock ( ' MyClass ' , [
' sayHello ' => ' hello ' ,
]);
$ mock -> expects ( $ this -> once ())
-> method ( ' sayGoodbye ' )
-> willReturn ( ' Goodbye ' );
Mock은 일반 PHPUnit Mock이며 여기서는 특별한 것이 없습니다.
CONTRIBUTING 파일을 참조하세요.
MIT 라이선스로 출시되었습니다.