2016-08-22 3 views
0

저는 Codeception + Selenium + PhantomJS를 사용하여 테스트를 작성하고 있습니다. 내가 가지고있는 문제는 다양한 클래스를 모의하고 다른 테스트에서 바인딩을 바인딩해야한다는 것입니다. (때로는 메서드에 의해 반환 된 미리 정의 된 결과를 가진 클래스를 가짜로 만듭니다.) 통합 테스트를 수행 할 때 Laravel 인스턴스에 액세스하는 방법은 무엇입니까?

쉽게 phpunit을 가진 단위 테스트 작성 :

$setterMock = Mockery::mock(MyClass::class); 

    $setterMock->shouldReceive('classMethod') 
       ->andReturn('result'); 

    $this->app->instance(MyClass::class, $setterMock); 

을하지만, 통합 테스트를 작성할 때 나는 $ 응용 프로그램 인스턴스에 액세스하는 방법을 모르겠어요. acceptance tests 폴더 안의 __bootstrap.php에 유사한 코드를 적용하려고 시도했지만 작동하지 않았습니다.

답변

-1

죄송합니다.

PhantomJS는 HTTP를 통해 서버에 액세스하므로 아무 것도 조롱받을 수 없습니다.

Webdriver 대신 Laravel5 모듈을 사용하여 모의 테스트를 구현할 수 있습니다.

+0

실행해야하는 일부 JS 코드가 있습니다. 이 모듈을 통해 실행시킬 수 있습니까? – naneri

+0

아니요, 자바 스크립트 코드를 실행하지 않습니다. – Naktibalda

관련 문제