作者:让爱自由2009 | 来源:互联网 | 2023-01-08 11:31
我是Laravel新手。在Homestead中使用本地开发环境尝试运行简单测试
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class UserTest extends TestCase
{
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$respOnse= $this->get('/');
$response->assertStatus(200);
}
}
route / web.php:
Route::get('/', function () {
return view('main');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
运行phpunit返回404错误
vagrant @ homestead:〜/ code / laravel $ phpunit Sebastian Bergmann和贡献者的PHPUnit 6.4.3。
。F。3/3(100%)
时间:1.07秒,内存:10.00MB
有1个失败:
1)Tests \ Feature \ UserTest :: testBasicTest预期状态码为200,但收到404。断言false为true失败。
/home/vagrant/code/laravel/vendor/laravel/framework/src/Illuminate/Foundation/Testing/TestResponse.php:78 /home/vagrant/code/laravel/tests/Feature/UserTest.php:25
我试图用这些方法修复它
1.
Laravel phpunit总是404
updateTestCase.php
protected $baseUrl = 'http://localhost'
change with
protected $baseUrl = 'http://laravel.local'
2.
https://github.com/dingo/api/issues/540及其旁边
https://github.com/dingo/api/issues/571
use Illuminate\Foundation\Testing\WithoutMiddleware;
class BankTest extends TestCase {
use WithoutMiddleware;
将.env中的APP_URL更改为
APP_URL=laravel.local
这些都没有帮助
'laravel.local'在浏览器中正常工作
请帮我解决
1> 小智..:
我有同样的问题,如果我用php artisan serve运行laravel,它必须是:
APP_URL=http://127.0.0.1:8000/
的APP_URL
,必须是完全网站的URL。
该网站正在运行,但是我没有正确地使用该常量,PHPUnit一直在说404。
2> 小智..:
我在浏览器中使用以下URL运行我的应用程序。
http:// localhost / app / public /
下一行的默认单元测试失败。它得到404响应而不是200。
$respOnse= $this->get('/');
$response->assertStatus(200);
阅读以上评论后,我如下更改了.env文件中的APP_URL。
APP_URL=http://localhost
但是我仍然遇到404错误。经过一番尝试和错误后,我发现我需要清除配置缓存。
php artisan config:cache
这成功了,我的测试开始了!!