我还没有找到任何描述如何将外部数据注入到 phpunit 中的 TestCases 中。我的目标是在 xml 配置文件中设置一个工作区目录,并从每个类中读取该目录的路径。现在我只能用全局变量来解决这个问题,这很恶心:
在引导程序中:
global $workspace;
$workspace = __DIR__ . '/../test/WorkSpace/';
在测试中:
class MyTest extends PHPUnit_Framework_TestCase
{
protected $workSpace;
public function __construct()
{
global $workspace;
$this->workSpace = $workspace;
parent::__construct();
}
//...
}
为此的配置xml:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://phpunit.de/phpunit.xsd"
backupGlobals="false"
verbose="true"
bootstrap="Application/bootstrap.php">
<testsuites>
<testsuite name="PHPUnit">
<directory>test</directory>
</testsuite>
</testsuites>
</phpunit>