PHPUnit 测试使用 XAMPP localhost 而不是 laravel artisan serve

Posted

技术标签:

【中文标题】PHPUnit 测试使用 XAMPP localhost 而不是 laravel artisan serve【英文标题】:PHPUnit test with XAMPP localhost instead of laravel artisan serve 【发布时间】:2017-08-02 10:14:05 【问题描述】:

我在 laravel 5.4 上设置了单元测试(不是黄昏浏览器测试),我已将 phpunit.xml 中的 baseUrl 配置为

http://localhost/TestApp/public

但是当我运行时

vendor\bin\phpunit

断言状态为 200,我得到失败的测试,说返回的状态为 404,而在浏览器上我可以访问 URL。

测试如下

namespace Tests\Feature;

use Tests\TestCase;
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 testBasicTest()
    
        $response = $this->get('/');


        $response->assertStatus(200);
    

【问题讨论】:

提示:code @Paras 更新代码 .env 文件中的 APP_URL 是什么? @Paras APP_URL=localhost/TestApp/public 虽然我注意到将 baseUrl 设置为 localhost:8000 可以在没有工匠服务的情况下工作 【参考方案1】:

您可以为您的测试创建一个单独的环境文件 (.env.testing),以便在没有 /public 的情况下使用 localhost/TestApp,它应该可以工作。

https://laravel.com/docs/5.6/configuration#environment-configuration

【讨论】:

以上是关于PHPUnit 测试使用 XAMPP localhost 而不是 laravel artisan serve的主要内容,如果未能解决你的问题,请参考以下文章

使netbeans使用phpunit的虚拟盒客户端安装

xampp phpunit 怎么使用

接口自动化测试系列之PHPUnit介绍和环境搭建

未找到但正确包含 PHPUnit 类

Laravel 5.4 phpunit 与黄昏测试 Env App_Url

更新 PHPunit Xampp