Тест PHPUnit не выполняется для assertStatus (200) в моем проекте laravel

У меня есть файл Unit Test со следующим методом тестирования

    <?php

namespace Tests\Unit;

use Tests\TestCase;
use Illuminate\Foundation\Testing\WithFaker;
use Illuminate\Foundation\Testing\RefreshDatabase;

class IndustryTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testURL()
{
$response = $this->get('admin/industry/index');

$response->assertStatus(200);
}
}

В моем routes/web.php файл, у меня есть следующий код:

Route::group(['middleware' => 'prevent-back-history'],function() {
Route::group([ 'middleware' => 'admin'], function () {
Route::get('admin/industry/index', 'IndustrymapController@industry_index');
});
});

IndustrymapController.php имеет следующий код:

public function industry_index()
{
//get all available industries
$industries = DB::connection('mysql_company_masterdb')
->table('tbl_industry_type')
->whereNull('deleted_at')
->get();
return View('admin.IndustryMaster.index')
->with('industries',$industries);
}

У меня есть файл просмотра внутри admin/IndustryMaster/index.php который отлично работает в браузере.

Когда я бегу .\vendor\bin\phpunit Команда в терминале, однако, выдает следующую ошибку:

PHPUnit 7.5.1 by Sebastian Bergmann and contributors.

Runtime:       PHP 7.1.12
Configuration: C:\xampp\htdocs\selfcomply\phpunit.xml

F                                                                   1 / 1 (100%)

Time: 294 ms, Memory: 14.00MB

There was 1 failure:

1) Tests\Unit\IndustryTest::testURL
Expected status code 200 but received 302.
Failed asserting that false is true.

C:\xampp\htdocs\selfcomply\vendor\laravel\framework\src\Illuminate\Foundation\Testing\TestResponse.php:78
C:\xampp\htdocs\selfcomply\tests\Unit\IndustryTest.php:21

FAILURES!
Tests: 1, Assertions: 1, Failures: 1.

Если мой код работает в браузере нормально, почему тест не пройден?
Я думаю, что это как-то связано с URL, который я дал

$response = $this->get('admin/industry/index');

РЕДАКТИРОВАТЬ

Ниже мой код в admin промежуточный слой

<?php

namespace App\Http\Middleware;

use Closure;
use Sentinel;

class SentinelAdmin
{
/**
* Handle an incoming request.
*
* @param  \Illuminate\Http\Request  $request
* @param  \Closure  $next
* @return mixed
*/
public function handle($request, Closure $next)
{
if(!Sentinel::check())
return redirect('signin')->with('info', 'You must be logged in!');

return $next($request);
}
}

2

Решение

Задача ещё не решена.

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

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

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector