我正在对Laravel中的应用程序进行测试,我希望更改环境变量的默认配置。在Laravel文件中:
在运行单元测试时,Laravel将自动将配置环境设置为测试。您可以根据需要创建其他测试环境配置。测试环境变量可以在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>./app/tests/</directory>
</testsuite>
</testsuites>
</phpunit>发布于 2015-05-26 15:43:18
只需为测试环境添加带有变量的<php>部分:
<?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>
…
</testsuites>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="DB_DATABASE" value="…"/>
<env name="DB_USERNAME" value="…"/>
<env name="DB_PASSWORD" value="…"/>
</php>
</phpunit>发布于 2015-10-05 16:25:07
您可以让PHPUnit在安装过程中加载您选择的.env文件。在TestCase ..。
public function createApplication()
{
$app = require __DIR__ . '/../bootstrap/app.php';
Dotenv::load(__DIR__ . '/../', '.env.testing');
$app->make(Illuminate\Contracts\Console\Kernel::class)->bootstrap();
$this->baseUrl = env('APP_URL', $this->baseUrl);
return $app;
}https://stackoverflow.com/questions/30462907
复制相似问题