开发PHPUnit:如何运行测试

开发PHPUnit:如何运行测试

问题描述:

我想改变PHPUnit的源代码,但首先我希望能够运行测试以确保我不会破坏任何东西。开发PHPUnit:如何运行测试

我以前的git获得版本4.7.7出到目录中。在那个目录中,我跑了composer install

然后我cdtests并运行:

phpunit --bootstrap ./bootstrap.php ./ 

(我使用运行测试PHPUnit的版本也是4.7.7)

,但我得到这个:

PHP Fatal error: Uncaught exception 'Exception' with message 'PHPUnit suppresses exceptions thrown outside of test case function' in C:\Users\jodes\Documents\NetBeansProjects\PHPUnit\phpunit\tests\Regression\GitHub\873\Issue873Test.php:7 
Stack trace: 
#0 phar://C:/phpbin/phpunit.phar/phpunit/Util/Fileloader.php(52): include_once() 
#1 phar://C:/phpbin/phpunit.phar/phpunit/Util/Fileloader.php(36): PHPUnit_Util_Fileloader::load('C:\Users\jody\D...') 
#2 phar://C:/phpbin/phpunit.phar/phpunit/Framework/TestSuite.php(334): PHPUnit_Util_Fileloader::checkAndLoad('C:\Users\jody\D...') 
#3 phar://C:/phpbin/phpunit.phar/phpunit/Framework/TestSuite.php(406): PHPUnit_Framework_TestSuite->addTestFile('C:\Users\jody\D...') 
#4 phar://C:/phpbin/phpunit.phar/phpunit/Runner/BaseTestRunner.php(57): PHPUnit_Framework_TestSuite->addTestFiles(Array) 
#5 phar://C:/phpbin/phpunit.phar/phpunit/TextUI/Command.php(121): PHPUnit_Runner_BaseTestRunner->getTest('.\tests\', '', Array) 
#6 phar://C:/phpbin/phpunit.phar/phpunit/TextUI/Command.php(99): PHPUnit_TextU in C:\Users\jody\Documents\NetBeansProjects\PHPUnit\phpunit\tests\Regression\GitHub\873\Issue873Test.php on line 7 

Fatal error: Uncaught exception 'Exception' with message 'PHPUnit suppresses exceptions thrown outside of test case function' in C:\Users\jodes\Documents\NetBeansProjects\PHPUnit\phpunit\tests\Regression\GitHub\873\Issue873Test.php:7 
Stack trace: 
#0 phar://C:/phpbin/phpunit.phar/phpunit/Util/Fileloader.php(52): include_once() 
#1 phar://C:/phpbin/phpunit.phar/phpunit/Util/Fileloader.php(36): PHPUnit_Util_Fileloader::load('C:\Users\jody\D...') 
#2 phar://C:/phpbin/phpunit.phar/phpunit/Framework/TestSuite.php(334): PHPUnit_Util_Fileloader::checkAndLoad('C:\Users\jody\D...') 
#3 phar://C:/phpbin/phpunit.phar/phpunit/Framework/TestSuite.php(406): PHPUnit_Framework_TestSuite->addTestFile('C:\Users\jody\D...') 
#4 phar://C:/phpbin/phpunit.phar/phpunit/Runner/BaseTestRunner.php(57): PHPUnit_Framework_TestSuite->addTestFiles(Array) 
#5 phar://C:/phpbin/phpunit.phar/phpunit/TextUI/Command.php(121): PHPUnit_Runner_BaseTestRunner->getTest('.\tests\', '', Array) 
#6 phar://C:/phpbin/phpunit.phar/phpunit/TextUI/Command.php(99): PHPUnit_TextU in C:\Users\jody\Documents\NetBeansProjects\PHPUnit\phpunit\tests\Regression\GitHub\873\Issue873Test.php on line 7 

我在做什么错?由于

+0

您需要阅读文档,https://phpunit.de/getting-started.html – cmorrissey

+0

我不想使用PHPUnit,我知道该怎么做。我试图开发PHPUnit的,并且这样做,我需要能够运行已为它 – Jodes

如果你的类“成功”有一个命名空间,你最好使用磁带自动加载机与PHPUnit的--bootstrap参数

如果这种情况与自动加载相关的,你也许想读http://jes.st/2011/phpunit-bootstrap-and-autoloading-classes/(旧的,但一个清晰的)

+0

辉煌,感谢开发测试 - 但现在我得到了另一个问题! (更新的问题)。 – Jodes

+0

我已经找到了解决办法:在我有限的测试只是测试目录'测试/ Framework'它工作得很好 - 这是我所需要的。我还没有找出原因,但以下目录给出了问题:'失败','回归','TextUI','_files' – Jodes