Callable fake는 Tim Macdonald의 PHP 테스트 유틸리티로, "콜러블/클로저에 대한 호출을 가짜, 캡처 및 어설션할 수 있습니다". 경우에 따라 이 패키지는 개발자가 테스트에서 호출 가능 항목을 전달하는 데 도움이 될 수 있습니다.
다음과 같이 Laravel 픽션에서 영감을 받은 API가 있습니다.
// Before, you might collect callables to assert later... public function testEachLoopsOverAllDependencies(): void { // arrange $received = []; $expected = factory(Dependency::class)->times(2)->create(); $repo = $this->app[DependencyRepository::class]; // act $repo->each(function (Dependency $dependency) use (&$received): void { $received[] = $dependency; }); // assert $this->assertCount(2, $received); $this->assertTrue($expected[0]->is($received[0])); $this->assertTrue($expected[1]->is($received[1])); }
이 패키지를 사용하면 다음과 같은 것을 사용할 수 있습니다.
public function testEachLoopsOverAllDependencies(): void { // arrange $callable = new CallableFake(); $expected = factory(Dependency::class)->times(2)->create(); $repo = $this->app[DependencyRepository::class]; // act $repo->each($callable); // assert $callable->assertTimesInvoked(2); $callable->assertCalled(function (Depedency $dependency) use ($expected): bool { return $dependency->is($expected[0]); }); $callable->assertCalled(function (Dependency $dependency) use ($expected): bool { return $dependency->is($expected[1]); }); }
이 패키지는ertCalled,ertNotCalled,assertInvoked 등과 같은 어설션을 제공합니다. 자세한 내용과 예를 보려면 프로젝트 추가 정보에서 사용 가능한 전체 어설션 목록을 확인하세요.
GitHub에서 이 패키지에 대해 자세히 알아보고, 전체 설치 지침을 얻고, timacdonald/callable-fake에서 소스 코드를 볼 수 있습니다.
위 내용은 【호출 가능-가짜】 테스트 속도를 높이기 위해 호출 가능 기능을 위조하세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!