2014-03-19 21 views
0

我正在嘗試運行使用PHPUnit的Laravel的單元測試。Laravel的呼叫方法繞過過濾器

我對這些功能的調用似乎到達了控制器,但是,它們似乎繞過了我的過濾器。過濾器用於執行用戶驗證,會話令牌等。該調用似乎直接發送給控制器,並忘記了過濾器。

public function testBasicExample(){ 

     $response = $this->call('GET', 'URL_Here', array('param_1' => 'value_1', 'param_2' => 'value_2')); 

     echo $response->getContent(); /**This should not be returning true if values are wrong and it is **/ 

     $this->assertTrue($this->client->getResponse()->isOk()); 

}

任何想法?

回答

0

根據Laravel文檔,路由過濾器在測試環境中被禁用。您可以使用下面的電話,讓他​​們:

Route::enableFilters(); 

你可以閱讀更多關於這個here。該章末尾的註釋回答你的問題。

+0

你碰巧知道Request對象是否也被禁用? – Dynelight

+0

它不應該。您是否遇到過這個問題?它所做的就是設置Request對象,以便它適合我在 – Stidges

+0

中運行的控制檯環境。當我從瀏覽器發送請求時,我可以訪問標題,但是當我使用PHPUnit時,它們不會去。 – Dynelight