Zend Framework 2 PHPUnit测试错误

时间:2012-11-30 15:59:11

标签: php phpunit zend-framework2 fatal-error

您好我正在通过ZF2用户指南试图在骨架应用程序上运行PHPUnit测试,如http://zf2.readthedocs.org/en/latest/user-guide/unit-testing.html所述。

但即使我没有编辑模块并且每次在Zend Studio中运行PHPUnit测试时都复制了教程中的所有文件,我都会收到此错误

错误:

Fatal error: Class 'ApplicationTest\Bootstrap' not found in C:\Program Files (x86)\Zend\Apache2\htdocs\exerciseDB\module\Application\test\ApplicationTest\Controller\IndexControllerTest.php on line 24

但是当我点击Bootstrap :: getServiceManager()时;在第24行,Zend Studio带我去了正确的方法。

文件结构:

module
|_Application
    |_config
    |_language
    |_src
    |_test
       |_ApplicationTest
       |    |_Controller
       |        |_IndexControllerTest.php
       |_Bootstrap.php
       |_phpunit.xml.dist
       |_TestConfig.php.dist

任何人都可以告诉我哪里出错了吗?

3 个答案:

答案 0 :(得分:0)

这是一个非常烦人的错误,有点令人恼火。您的phpunit配置似乎与骨架应用程序上的配置略有不同。为了给你直接的答案解决了我的问题,我做了以下......

module
|_Application
    |_config
    |_language
    |_src
    |_tests
       |_ZendApplicationModule
       |    |_Framework
       |        |TestCase.php
       |    |_IndexControllerTest.php
       |    |_SampleTest.php
       |_Bootstrap.php
       |_phpunit.xml.dist
       |_TestConfig.php.dist

使用骨架APP中的上述基本设置,我必须添加

require_once 'Framework/TestCase.php';

到SampleTest.php

对于实际修复,您需要require_once生成问题的文件。那应该解决它。

还要确保更新autoload_classmap.php

答案 1 :(得分:0)

我遇到了同样的问题,其中phpunit没有看到我的“module / Application / test / phpunit.xml.dist”文件(我错过了拼写)

尝试将文件直接添加到命令行: phpunit --bootstrap Bootstrap.php。

答案 2 :(得分:0)

我也有这个问题。

我通过从我的ZF2项目的根目录运行phpunit并使用以下参数解决了这个问题:

 ./vendor/bin/phpunit
  --bootstrap ./module/Rest/test/Bootstrap.php

还可以指定要使用的测试套件:

 ./vendor/bin/phpunit
  --bootstrap ./module/Rest/test/Bootstrap.php
  ./module/Rest/test/RestTest/Controller/RestControllerTest.php

更多详情here