2017-02-12 9 views
3

я могу мой проект на Laravel 5.4 из ссылок: локального хоста: 8888/streaming_statistic/общественноеПример PHPUnit испытаний на Laravel 5.4 терпит неудачу с 404

У меня есть тест:

<?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-тесты это не лучшее решение для них?

+2

Вам необходимо установить правильный URL-адрес и порт для своих тестов. –

+0

Где я могу их настроить? –

+0

APP_URL = http: //127.0.0.1: 8888/streaming_statistic/public - для тестов эта переменная env была неправильной ... Я изменил корневой каталог на streaming_statistic/public и env на APP_URL = http: //127.0.0.1: 8888 - и получил ОК (1 тест, 1 утверждение)! –

ответ

6

для испытаний этой переменной окр было неправильно ...

APP_URL=http://127.0.0.1:8888/streaming_statistic/public 

Я изменил корневой каталог веб-сервера streaming_statistic/общественности и окр к

APP_URL=http://127.0.0.1:8888 

После этого я получил:

OK (1 test, 1 assertion) 
+0

Возможно, вы захотите проверить, действительно ли тест проходит. Может быть, на 127.0.0.1:8888 он видит список всех каталогов и не достигает вашего приложения. –