2

我应该在不同的 php 环境中运行PHPUnit 3.7测试套件:使用不同的 php.ini 设置,甚至在不同的操作系统环境中。我想确保我的测试套件和底层类在

  • php.ini date.timezone设置不同;和/或
  • 操作系统的内部时区不同

如何在 PHPUnit 和 CLI (Linux) 中正确设置测试环境?

4

1 回答 1

2

如果您只想更改 php.ini 设置和操作系统/环境变量,我建议您编写小的 bash 脚本包装器(或使用您选择的构建工具)来完成等效操作。

使用具有不同时区的 PHP 5.3:

/path/to/php-5.3 -d date.timezone=America/New_york /usr/bin/phpunit

将 PHP 5.4 与另一个时区和不同的 ENV 一起使用

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 将在您的测试运行之前进行设置。

于 2012-11-19T10:01:24.800 回答