2016-08-22 65 views
0

我正在使用Codeception + Selenium + PhantomJS編寫測試。 我遇到的問題是我需要模擬各種類,並在不同的測試中綁定不同的實現(有時候模擬了一個類的方法,它們的方法返回了預定義的結果)。如何在進行集成測試時訪問Laravel實例?

當使用PHPUnit編寫,很容易單元測試:

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

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

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

但編寫集成測試時,我不知道如何訪問$應用實例。我試圖在驗收測試文件夾中的__bootstrap.php中應用類似的代碼,但它不起作用。

回答

-1

對不起,但你不能。

PhantomJS通過HTTP訪問服務器,所以沒有什麼可以被模擬。

您可以通過使用Laravel5模塊而不是Webdriver來實現模擬測試。

+0

我有一些JS代碼需要運行。該模塊是否允許我運行它? – naneri

+0

不,它不執行JavaScript代碼。 – Naktibalda

相關問題