3
Laravel의 request() 도우미를 사용하는 메서드가 포함 된 클래스에서 메서드를 테스트하려고합니다. 이것은 방법 :제대로 조롱하는 방법 Laravel에서 Http Request 클래스를 조명하십시오.
Category 클래스 대해 getRequestURI()을 할 때 시험이 도우미가 제대로 URI를 잡을 수 있도록해야
public function getCanonicalUrl()
{
return preg_match('/\/sale\/./', request()->getRequestUri())
? ''
: url($this->getUrlKey());
}
하지만 실제로 빈 문자열을 반환합니다. 이것은 내가 시험에 쏟은 천 번 시도 중 하나입니다.
테스트
public function testCanonical()
{
// ...
$requestMock = Mockery::mock(Request::class)
->shouldReceive('getRequestUri')
->andReturn('/sale/random-string');
$this->app->instance(Request::class, $requestMock);
// ...
}
이 달성 할 수있는 방법의 어떤 아이디어? 미리 감사드립니다.
그래서'$ this->는 ($ 경로)'이 문제를 해결하기 위해 적절하고 쉬운 방법이었다받을. 감사 – suarsenegger