2015-04-02 2 views
1

Это может быть очень простой вопрос, но я не мог найти ответа на него из-за того, что был очень новым для phpunit и laravel.Как получить статус assertResponseOk - laravel 4.2 тестирование

Я должен проверить АНИ, первый я утверждаю для ответа

$this->assertResponseOk(); 

Тогда я играю с ответом, и утверждая равенство

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

То, что я хочу сделать, это положить второе дело (работа с ответом) в состоянии получения 1-го утверждения, чтобы быть правдой.

Могу ли я это сделать? Спасибо за любую помощь.

ответ

1

Вам не нужны никакие условия - PHPUnit справится с этим для вас.

Он будет продолжать утверждать остальную часть тестов внутри ваших функций, если предыдущие утверждения уже верны.

т.е.

$this->assertResponseOk(); 

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

То хорошо, то, но что если я хочу, чтобы напечатать настраиваемое сообщение для успеха или неудачи? а также, если есть возможность показать, какой тест работает в случае нескольких тестов? – Fahad

+0

В настоящее время я делаю это как 'if ($ this-> assertResponseOk ($ response) == null) { echo 'XYZ_TestSuccessful';}', его работа, но определенно не правильный способ сделать. @The Shift Exchange – Fahad

+0

Вам не нужно говорить, что это успешно. PHPUnit скажет вам, является ли это неуспешным *. Если все ваши тесты пройдут - PHPUnit говорит вам. – Laurence

Смежные вопросы