如何在多个不同的PHP环境中运行PHPunit测试套件



我应该在不同的PHP环境中运行PHPUnit 3.7测试套件:使用不同的php.ini设置,甚至在不同的操作系统环境中。我想确保我的测试套件和基础类在以下情况下持续工作

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

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

如果你只想改变 php.ini 设置,也许还有 OS/env vars,我建议编写一些小的 bash 脚本包装器(或使用你选择的构建工具)来做等效的事情。

使用不同时区的 PHP 5.3:

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

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

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 将负责在测试运行之前对其进行设置。

相关内容

  • 没有找到相关文章

最新更新