Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHPUnit';s的骨架测试正在运行_Php_Phpunit - Fatal编程技术网

如何在PHPUnit';s的骨架测试正在运行

如何在PHPUnit';s的骨架测试正在运行,php,phpunit,Php,Phpunit,我们在前置文件中设置了一个全局变量,用于形成require_once调用的路径。例如: require_once($GLOBALS['root'].'/library/particleboard/JsonUtil.php'); 问题是,当我运行PHPUnit的骨架测试生成器时,前置文件并没有运行,所以全局变量从未设置。当我跑的时候 cd /company/trunk/queue/process; phpunit --skeleton-test QueueProcessView PHPUnit

我们在前置文件中设置了一个全局变量,用于形成require_once调用的路径。例如:

require_once($GLOBALS['root'].'/library/particleboard/JsonUtil.php');
问题是,当我运行PHPUnit的骨架测试生成器时,前置文件并没有运行,所以全局变量从未设置。当我跑的时候

cd /company/trunk/queue/process; phpunit --skeleton-test QueueProcessView
PHPUnit尝试在QueueProcessView中解析require_一次,但由于从未设置$GLOBALS['root'],因此在包含所需文件时出现致命错误

例如,对于PHPUnit,应该是什么

require_once(/code/trunk/library/particleboard/JsonUtil.php)
决议如下:

require_once(/library/particleboard/JsonUtil.php)
请注意缺少的根

有人知道骨架测试代码在运行之前是否有方法调用PHP文件吗?在这里,我可以在这个文件中设置我的全局['root']


任何其他创造性的解决方案都将不胜感激。

好的,我想出来了。我只是编辑了PHPUnit/Util/Test.php文件以包含我的引用。这不是最优雅的解决方案,但由于框架的其余部分允许您调用引导文件,我可以使用这个被黑客攻击的实用程序。

与您引导常规测试套件的方式相同,您也可以对骨架生成执行大致相同的操作

phpunit --bootstrap prepend.php --skeleton-test QueueProcessView
我用三个文件对此进行了测试:

test.php:

<?php   
require_once($GLOBALS['root'].'/confirmedToRun.php');
class test
{
   function doStuff()
   {
   }
}

谢谢阿利斯特!太好了。
<?php   
$root = "/tmp/";
<?php   
echo __FILE__;
phpunit --bootstrap prepend.php --skeleton-test test
PHPUnit 3.4.2 by Sebastian Bergmann.

/tmp/confirmedToRun.php
Wrote skeleton for "testTest" to "/home/me/tmp/testTest.php".