如何从 phpunit.xml 而不是应用程序配置文件访问环境变量

Posted

技术标签:

【中文标题】如何从 phpunit.xml 而不是应用程序配置文件访问环境变量【英文标题】:How to access env variables from phpunit.xml rather than app config file 【发布时间】:2019-08-15 14:31:42 【问题描述】:

注意:重要的是要了解我的问题中常量的定义方式与标记为我的问题重复的问题中的常量显着不同,因为我的是面向配置文件而不是 env面向文件。

我正在编写集成测试用例,我不想从配置文件中提供我的应用程序密钥,但希望从 phpunit.xml 文件中访问它。

但它仍然从配置文件而不是从 phpunit.xml 文件访问密钥。 我也尝试过力元素。 这方面需要做些什么?

配置文件:

 <?php

 return [
    'KEY' => env('Test', ''),
    'DATA' => env('Test1', '')
 ];

phpunit.xml 文件:

 <php>
     <env name="Test" value="foo" />
     <env name="Test1" value="secret"/>
 </php>

【问题讨论】:

【参考方案1】:

试试这个:

<php>
    <env name="APP_ENV" value="Test"/>
</php>

来源: How to specify a different .env file for phpunit in Laravel 5?

【讨论】:

我试过了,但它不起作用。我不想要 phpunit 的另一个 .env 文件,我期待一些东西可以让我从 phpunit.xml 访问键 Test 的值“foo”,而不是从配置中接受空白值。

以上是关于如何从 phpunit.xml 而不是应用程序配置文件访问环境变量的主要内容,如果未能解决你的问题,请参考以下文章

如何告诉 phpunit 在失败时停止

PHPUnit测试失败

如何跳过 PHPunit 中的测试?

PHPUnit --coverage-html无效

phpunit xml配置颜色指令不起作用

phpunit 生成三种日志文件的配置方法