Модульное тестирование REST API в laravel: базовая аутентификация игнорируется

Я хочу протестировать небольшой API с базовой аутентификацией.

Маршрут выглядит так:

Route::group(array('prefix' => 'api/v1', 'before' => 'auth.basic'), function()
{
Route::get('/', function()
{
return 'Hello';
});
});

И тест выглядит так:

class APITest extends TestCase {
public function testHTTPAuthFailed()
{
$response = $this->call('GET', 'api/v1');
fwrite(STDERR, print_r($response->getContent(), TRUE));
}

}

Когда я запускаю тест с phpunit, я вижу «Hello» в консоли. Это не то, что я исключил, я думал, что увижу «Проверка подлинности не удалась». Но если я попытаюсь вызвать мой API с помощью cURL (на терминале), я увижу, что аутентификация не удалась (так что все в порядке, это то, что я исключил):

$ curl -i host/api/v1
HTTP/1.1 401 Unauthorized

Так почему же phpunit в laravel (4.2) пропускает (?) Базовую аутентификацию. Как я могу проверить неверные учетные данные?

0

Решение

Я нашел ответ в Другой вопрос. Мне нужно добавить: Route::enableFilters(); в моей тестовой функции, и это нормально.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]