使用phpunit.xml配置Laravel 5单元测试URL

时间:2016-05-10 16:35:08

标签: php laravel-5 phpunit

我已经运行了很多测试,但是路由生成一个url的测试仍然失败。

检查后,它看起来像是使用默认的APP_URL。

我已经在phpunit.xml中更改了它,但它没有任何区别(即使在清除缓存后)

phpunit.xml:

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
         backupStaticAttributes="false"
         bootstrap="bootstrap/autoload.php"
         colors="true"
         convertErrorsToExceptions="true"
         convertNoticesToExceptions="true"
         convertWarningsToExceptions="true"
         processIsolation="false"
         stopOnFailure="false"
         syntaxCheck="false">
    <testsuites>
        <testsuite name="Application Test Suite">
            <directory>./tests/</directory>
        </testsuite>
    </testsuites>
    <php>
        <env name="APP_ENV" value="testing"/>
        <env name="CACHE_DRIVER" value="array"/>
        <env name="SESSION_DRIVER" value="array"/>
        <env name="QUEUE_DRIVER" value="sync"/>
        <env name="APP_URL" value="http://local.dev:8888"/>
        <ini name="display_errors" value="true"/>
    </php>
</phpunit>

有任何帮助吗?打赌它是愚蠢的东西!

由于

2 个答案:

答案 0 :(得分:0)

/tests/TestCase.php

更改$ baseUrl值。

/**
 * The base URL to use while testing the application.
 *
 * @var string
 */
protected $baseUrl = 'http://my-local-domain.dev';

答案 1 :(得分:0)

在test目录的根目录中更改TestCase类中的$ baseUrl值。 这里提供的样本。所有其他值都将被屏蔽。

abstract class TestCase extends Illuminate\Foundation\Testing\TestCase
{
    /**
     * The base URL to use while testing the application.
     *
     * @var string
     */
    protected $baseUrl = 'http://local.dev:8888';

    /**
     * Creates the application.
     *
     * @return \Illuminate\Foundation\Application
     */
    public function createApplication()
    {

    }


}