您好我正在通过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
任何人都可以告诉我哪里出错了吗?
答案 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