将变量传递给PhpUnit

我开发了一套使用PHPunit测试开发站点和生产站点的测试用例.唯一的区别是域名.如何将域从命令行传递到PHPunit测试用例,以便我不需要修改每个文件
在你的PHPunit-bootstrap.PHP中,你可以这样做:
$site = getenv('DOMAIN');

并使用

<PHP>
  <env name="DOMAIN" value="http://production.com"/>
</PHP>

在您的PHPunit.xml文件as shown in the documentation.

这种方法的缺点是您需要有两个不同的xml文件.

其他选项是使用PHPunit周围的自定义包装脚本,如@DavidHarkness显示哪些趋势很好

或者,如果您不想以自动方式运行这些测试(或使用两种方法)执行以下操作:

$site = getenv('DOMAIN');
if(!$site) {
    echo "Enter Domain: ";
    $site = fgets(STDIN);
}

并让跑步者检查环境,如果没有什么可以问你的域名.

Env或定义或其他任何东西

几乎每一种PHP可以从外部世界输入的方式也是如此.

<PHP>
  <define name="DOMAIN" value="http://production.com"/>
</PHP>

例如,如果您使用常数,也可以使用.

相关文章

Hessian开源的远程通讯,采用二进制 RPC的协议,基于 HTTP 传输。可以实现PHP调用Java,Python,C#等多语...
初识Mongodb的一些总结,在Mac Os X下真实搭建mongodb环境,以及分享个Mongodb管理工具,学习期间一些总结...
边看边操作,这样才能记得牢,实践是检验真理的唯一标准.光看不练假把式,光练不看傻把式,边看边练真把式....
在php中,结果输出一共有两种方式:echo和print,下面将对两种方式做一个比较。 echo与print的区别: (...
在安装好wampServer后,一直没有使用phpMyAdmin,今天用了一下,phpMyAdmin显示错误:The mbstring exte...
变量是用于存储数据的容器,与代数相似,可以给变量赋予某个确定的值(例如:$x=3)或者是赋予其它的变...