Я могу сделать свой проект на Laravel 5.4 из ссылки: localhost: 8888 / streaming_statistic / public
У меня есть тест:
<?php namespace Tests\Feature; use Tests\TestCase; use Illuminate\Foundation\Testing\WithoutMiddleware; use Illuminate\Foundation\Testing\DatabaseMigrations; use Illuminate\Foundation\Testing\DatabaseTransactions; class ApiTest extends TestCase { public function testBasicTest() { $response = $this->get('/'); $response->assertStatus(200); } }
Я запускаю все тесты с помощью команды
./vendor/bin/phpunit
Но результат:
PHPUnit 5.7.13 by Sebastian Bergmann and contributors. F 1 / 1 (100%) Time: 222 ms, Memory: 12.25MB There was 1 failure: 1) Tests\Feature\ApiTest::testBasicTest Expected status code 200 but received 404. Failed asserting that false is true. /Applications/MAMP/htdocs/streaming_statistic/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:56 /Applications/MAMP/htdocs/streaming_statistic/tests/Feature/ApiTest.php:16 FAILURES! Tests: 1, Assertions: 1, Failures: 1.
Я могу открыть эту страницу http: // localhost: 8888 / streaming_statistic / public / У меня есть маршрут:
Route::get('/', function () { return view('welcome'); });
Что я делаю неправильно? И какой правильный способ написать тесты для методов контроллера в laravel? Может быть, HTTP-тесты это не лучшее решение для них?
для тестов эта переменная env была неправильной …
APP_URL=http://127.0.0.1:8888/streaming_statistic/public
Я изменил каталог корневого веб-сервера на streaming_statistic / public и env для
APP_URL=http://127.0.0.1:8888
После этого я получил:
OK (1 test, 1 assertion)