2015-04-02 21 views
1

這可能是一個非常基本的問題,但我找不到任何答案,因爲它對phpunit和laravel很新。如何獲取assertResponseOk的狀態 - laravel 4.2測試

我一定要考一個API,首先,我斷言爲響應

$this->assertResponseOk(); 

那麼我玩響應,並主張平等

$response = $response->getOriginalContent(); 
$response = json_decode($response); 
$result = ... 
. 
.  
$this->assertEquals(true, $result); 

我想要做的就是把第二件事(以響應爲中心)在得到第一個斷言的情況下是真實的。

我可以做到嗎?謝謝你的幫助。

回答

1

你不需要任何條件 - PHPUnit會爲你處理這個。

如果先前的斷言已經爲真,它將只會繼續在函數內部斷言其餘的測試。

$this->assertResponseOk(); 

// The previous $this->assertResponseOk() MUST have been true to reach this point 
$this->assertEquals(true, $result); 
+0

那是那麼好,但如果我要打印自定義消息成功或失敗?並且如果在多重測試的情況下是否有可能顯示哪個測試正在運行? – Fahad 2015-04-02 07:48:48

+0

目前我正在這樣做'如果($ this-> assertResponseOk($ response)== null){ echo'XYZ_TestSuccessful';}',它的工作,但絕對不是正確的方法。 @The換檔 – Fahad 2015-04-02 08:15:09

+0

你不需要說它是成功的。 PHPUnit會告訴你它是否不成功*。如果你所有的測試都通過了 - PHPUnit告訴你。 – Laurence 2015-04-02 08:50:55