当我尝试在PHPUnit中运行测试时出现错误。即使我自己键入phpunit
,我仍然会收到错误。当我在Bootstrap文件夹之外调用它时,它工作正常。
Configuration read from /home/milen/Documents/codific/icho/module/Application/tests/phpunit.xml
PHP Fatal error: Call to a member function getId() on a non-object in /home/milen/Documents/codific/icho/module/Application/tests/ApplicationTest/Controller/PoCourseTest.php on line 268
PHP Stack trace:
PHP 1. {main}() /usr/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:46
PHP 3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:129
PHP 4. PHPUnit_TextUI_TestRunner->doRun() /usr/share/php/PHPUnit/TextUI/Command.php:176
PHP 5. PHPUnit_Framework_TestSuite->run() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit/src/TextUI/TestRunner.php:426
PHP 6. PHPUnit_Extensions_SeleniumTestCase->run() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit/src/Framework/TestSuite.php:699
PHP 7. PHPUnit_Framework_TestCase->run() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit-selenium/PHPUnit/Extensions/SeleniumTestCase.php:648
PHP 8. PHPUnit_Framework_TestResult->run() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit/src/Framework/TestCase.php:760
PHP 9. PHPUnit_Framework_TestCase->runBare() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit/src/Framework/TestResult.php:686
PHP 10. PoCourseTest->tearDown() /home/milen/Documents/codific/icho/vendor/phpunit/phpunit/src/Framework/TestCase.php:852
我尝试重新安装它,没有运气。
答案 0 :(得分:0)
当我为phpUnit.xml文件中指定的PHPUnit定义了一个bootstap.php文件时,我通常会看到这些行中的错误。使用此设置,您需要小心运行测试的位置,以便正确运行引导程序文件。这不是PHPUnit本身的问题,而是来自phpunit.xml文件的副作用。
这似乎就是这种情况,因为你说当你不在名为" Bootstrap"的文件夹中时(什么/在哪里),PHPUnit工作正常。但除了错误转储之外没有更多信息,这将很难确定。
答案 1 :(得分:0)
我认为可以使用此answer修正此问题。
我认为它不是配置问题,而是setUp和tearDown方法中的代码执行。