Laravel 5.2单元测试404

时间:2016-08-14 12:17:23

标签: laravel unit-testing testing laravel-5 laravel-5.2

我有这个简单的测试设置,我试图找出为什么当我运行此测试时,我收到此错误消息。当我在浏览器中访问myapp.app时,我看到了安装Laravel 5.2的欢迎页面。

There were 2 failures:

1) ExampleTest::testExample
A request to [myapp.app] failed. Received status code [404].

家长测试课

<?php

use Illuminate\Foundation\Testing\DatabaseTransactions;

abstract class TestCase extends Illuminate\Foundation\Testing\TestCase
{
    use DatabaseTransactions;

    /**
     * The base URL to use while testing the application.
     *
     * @var string
     */
    protected $baseUrl = 'myapp.app';

    /**
     * Creates the application.
     *
     * @return \Illuminate\Foundation\Application
     */
    public function createApplication()
    {
        $app = require __DIR__.'/../bootstrap/app.php';

        $app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();

        return $app;
    }
}

Laravel安装的默认示例测试

<?php

use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;

class ExampleTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function testExample()
    {
        $this->visit('/')
            ->see('Laravel 5');
    }
}

4 个答案:

答案 0 :(得分:2)

我从朋友那里学到的问题是使用xdebug我可以输入代码并找出发生了什么。

原因是因为在testcase文件中需要正确设置baseURL。

memory.usememorydomain("System Bus")
personality=memory.read_u32_le(0x02024744)

答案 1 :(得分:1)

大多数时候,我使用&#39; http://localhost&#39;。你试过了吗?

答案 2 :(得分:1)

我设法通过将APP_URL文件的.env变量返回到原始值来解决此问题:

APP_URL=http://localhost

答案 3 :(得分:1)

我也遇到了类似的麻烦,但是我的问题是我需要额外连接。 api模块连接到主要api.php,如下所示:

Route::get(//some routes)
...

require_once('entity.php');

请不要这样做