gpt4 book ai didi

php - 如何在 phpunit 测试中将环境变量强制为某个值?

转载 作者:可可西里 更新时间:2023-11-01 12:33:21 27 4
gpt4 key购买 nike

在我的 phpunit 中我有这样的配置:

<php>
<env name="ENVIRONMENT" value="test"/>
</php>

我在错误的假设下工作,它总是将环境变量设置为值 test。然而,当系统已经设置了变量时,它会更喜欢已经存在的值。

$ export ENVIRONMENT=GNARF
$ phpunit -c test/phpunit.xml

所以在测试中,env('ENVIRONMENT') 的值将是 "GNARF",即使我期望 "test"

有没有办法让 phpunit 将 env 设置视为它应该使用的确定值而不是默认值?

我也想避免以某种方式调用 phpunit 只是为了获得正确的环境变量。

所以虽然这有效:

ENVIRONMENT="test";./vendor/bin/phpunit -c tests/phpunit.xml

如果可能的话,我宁愿在 phpunit.xml 文件中配置它。

最佳答案

这种方式对我有用(使用 PHPUnit 6.5 测试):

<phpunit bootstrap="vendor/autoload.php">
<testsuites>
<testsuite name="MyProject">
<directory>tests</directory>
</testsuite>
</testsuites>
<php>
<env name="API_KEY" value="fakeApiKey" force="true" />
</php>
</phpunit>

这是 pull request他们在哪里添加了这个新功能(如果您感兴趣的话)。

sebastianbergmann added this to the PHPUnit 6.3 milestone on 4 Jul 2017

关于php - 如何在 phpunit 测试中将环境变量强制为某个值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35479340/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com