我应该在不同的 php 环境中运行PHPUnit 3.7测试套件:使用不同的 php.ini 设置,甚至在不同的操作系统环境中。我想确保我的测试套件和底层类在
- php.ini date.timezone设置不同;和/或
- 操作系统的内部时区不同
如何在 PHPUnit 和 CLI (Linux) 中正确设置测试环境?
我应该在不同的 php 环境中运行PHPUnit 3.7测试套件:使用不同的 php.ini 设置,甚至在不同的操作系统环境中。我想确保我的测试套件和底层类在
如何在 PHPUnit 和 CLI (Linux) 中正确设置测试环境?
如果您只想更改 php.ini 设置和操作系统/环境变量,我建议您编写小的 bash 脚本包装器(或使用您选择的构建工具)来完成等效操作。
/path/to/php-5.3 -d date.timezone=America/New_york /usr/bin/phpunit
export TZ=Europa/Berlin
/path/to/php-5.4 -d date.timezone=Aemerica/San_Franciso /usr/bin/phpunit
如果您使用该功能,这种方法也process_isolation
可以使用,因为 PHPUnit 将能够确定使用的是什么 PHP 二进制文件,但您可能会遇到“-d”参数的问题。在这种情况下,不要将它们传递给 php 二进制文件,而是传递给 phpunit。( phpunit -d date.timezone=foo
)。然后 PHPUnit 将在您的测试运行之前进行设置。