首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在测试时,laravel编辑phpunit.xml以改变环境

在测试时,laravel编辑phpunit.xml以改变环境
EN

Stack Overflow用户
提问于 2015-05-26 15:32:57
回答 2查看 4.7K关注 0票数 2

我正在对Laravel中的应用程序进行测试,我希望更改环境变量的默认配置。在Laravel文件中:

在运行单元测试时,Laravel将自动将配置环境设置为测试。您可以根据需要创建其他测试环境配置。测试环境变量可以在phpunit.xml文件中配置。

如何从phpunit.xml更改环境?

以下是文件:

代码语言:javascript
复制
<?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>
EN

回答 2

Stack Overflow用户

发布于 2015-05-26 15:43:18

只需为测试环境添加带有变量的<php>部分:

代码语言:javascript
复制
<?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>
票数 2
EN

Stack Overflow用户

发布于 2015-10-05 16:25:07

您可以让PHPUnit在安装过程中加载您选择的.env文件。在TestCase ..。

代码语言:javascript
复制
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;
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30462907

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档