在web浏览器中运行Silverstripe测试时出现Php警告。无法打开“phpunit/scr/Framework/TestResult.php”

在web浏览器中运行Silverstripe测试时出现Php警告。无法打开“phpunit/scr/Framework/TestResult.php”,phpunit,silverstripe,Phpunit,Silverstripe,我希望在NetefxValidator中运行测试,这是一个用于表单验证的Silverstripe模块。我已经安装了新版本的Silverstripe CMS以及这个模块。我在localhost:8888/dev/tests/打开一个浏览器,可以看到所有Silverstripe的测试和NetefxValidator测试。当我点击任何测试时,我会收到php警告和下面的致命错误示例。有什么想法吗 [11-Jul-2014 06:52:52 Pacific/Auckland]PHP警告:require_o

我希望在NetefxValidator中运行测试,这是一个用于表单验证的Silverstripe模块。我已经安装了新版本的Silverstripe CMS以及这个模块。我在localhost:8888/dev/tests/打开一个浏览器,可以看到所有Silverstripe的测试和NetefxValidator测试。当我点击任何测试时,我会收到php警告和下面的致命错误示例。有什么想法吗

[11-Jul-2014 06:52:52 Pacific/Auckland]PHP警告:require_oncephpunit/scr/Framework/TestResult.PHP:无法打开流:第2行的/Users/Base/Documents/Web Design/NetefxValidator/Framework/dev/SapphireTestReporter.PHP中没有此类文件或目录 [2014年7月11日06:52:52太平洋/奥克兰]PHP致命错误:require_once:无法打开所需的'phpunit/scr/Framework/TestResult.PHP'include_path='/Users/Base/Documents/Web设计/NetefxValidator/vendor/phpunit/PHP文本模板:/Users/Base/Documents/Web设计/NetefxValidator/vendor/phpunit/phpunit模拟对象:/Users/Base/Documents/WebDesign/NetefxValidator/vendor/phpunit/php令牌流:/Users/Base/Documents/Web Design/NetefxValidator/vendor/phpunit/php文件迭代器:/Users/Base/Documents/Web Design/NetefxValidator/vendor/phpunit/php文件迭代器:/Users/Base/Documents/Web Design/NetefxValidator/php代码覆盖率:/Users/Base/Documents/WebDesign/NetefxValidator/vendor/phpunit/phpunit:/Users/Base/Documents/Web Design/NetefxValidator/vendor/symfony/yaml:.:/Users/Base/Documents/Web设计/NetefxValidator/framework/parsers:/Users/Base/Documents/Web第2行的Design/NetefxValidator/framework/thirdparty:.:/Applications/MAMP/bin/php/php5.5.10/lib/php'in/Users/Base/Documents/Web Design/NetefxValidator/framework/dev/sappieretestreporter.php [11-Jul-2014 06:52:52 Pacific/Auckland]PHP警告:无法设置Cookie'alternativeDatabaseName'。网站开始在第117行的/Users/Base/Documents/Web Design/NetefxValidator/framework/dev/DebugView.php/Users/Base/Documents/Web Design/NetefxValidator/framework/control/Cookie.php的第101行输出内容 [11-Jul-2014 06:52:52太平洋/奥克兰]PHP警告:无法设置Cookie'alternativeDatabaseNameIv'。网站开始在第117行的/Users/Base/Documents/Web Design/NetefxValidator/framework/dev/DebugView.php/Users/Base/Documents/Web Design/NetefxValidator/framework/control/Cookie.php的第101行输出内容

**我的设置:** 按照Silverstripe说明,我已经通过Composer Composer update-dev安装了PHPunit,并且可以在供应商文件夹中看到它。为了更好的措施,我还成功地在终端中安装了PHPUnit

下一个配置步骤需要项目根目录中的phpunit.xml文件。这是我在github上找到的起点。我已将NetefxValidator添加到测试套件中:

<phpunit bootstrap="framework/tests/bootstrap.php" colors="true">

    <testsuite name="Default">
        <directory>netefxvalidator/code/tests</directory>
        <directory>cms/tests</directory>
        <directory>framework/tests</directory>
    </testsuite>

    <listeners>
        <listener class="SS_TestListener" file="framework/dev/TestListener.php" />
    </listeners>

    <groups>
        <exclude>
            <group>sanitychecks</group>
        </exclude>
    </groups>

</phpunit>
如何在TestResult.php中加载SapphireTestReporter.php所需的PHPunit类? 另外,我认为我需要给PHPunit访问MySQL数据库的权限。有小费吗


提前感谢。

不确定它是否能解决问题,但您已经为本地站点设置了一个环境文件,其中包含$\u file\u TO\u URL\u映射中的条目。 我想知道这是否是它无法找到phpunit路径的原因,请参阅下面的链接了解更多信息


谢谢@K Mayo的建议。我四处寻找,发现这是PHPUnit的错误版本。Silverstripe 3.1.5支持PHPUnit 3.7,而不是4.2。将向Silverstripe文档提交请求以澄清

这并不能回答这个问题。若要评论或要求作者澄清,请在其帖子下方留下评论-您可以随时在自己的帖子上发表评论,一旦有足够的评论,您就可以发表评论了。回答:不需要在TestResult.php中创建PHPunit类。卸载phpunit4.2。然后,安装phpunit3.7。打开yoursite.com/dev/tests并运行测试。