我刚在OS X + MAMP上安装了PHPUnit。 (我的phpunit安装在我的MAMP文件夹中,因此我将其复制到/ usr / bin,因为我无法在没有路径的终端中使用“phpunit”命令)
当我转到一个新的Symfony2文件夹并尝试phpunit -c App/
时,测试开始,我得到一个绿色确认,所有测试都通过了。
PHPUnit 3.7.8 by Sebastian Bergmann.
Configuration read from
/Users/username/Dropbox/www/symfonydev/Symfony/App/phpunit.xml.dist
.
Time: 0 seconds, Memory: 15.50Mb
OK (1 test, 1 assertion)
但是当我进入我自己的小Symfony2项目并执行相同的命令时,没有任何反应!他甚至没有加载phpunit.xml.dist 。我的终端窗口根本没有输出。
但是,测试文件确实存在且可读,我可以通过在phpunit的命令行中明确指定它来启动它:
phpunit -c app/ src/MatchTracker/Bundle/Tests/Controller/AuthenticationControllerTest.php
这是有效的。
似乎phpunit.xml.dist出了问题。这是默认的phpunit.xml.dist,我尝试将其重命名为phpunit.xml。但没有任何反应。可能是什么问题呢?我认为他找不到我的xml或使用它,或者他可以阅读phpunit.xml但是找不到我的测试。
这是我终端的示例:您看到phpunit命令没有做任何事情,除非我指定测试文件...
MacBook-Pro:www username$ ls
LICENSE app composer.json composer.lock composer.phar src vendor web
MacBook-Pro:www username$ ls app/
AppCache.php SymfonyRequirements.php cache console phpunit.xml.dist
AppKernel.php autoload.php check.php logs
Resources bootstrap.php.cache config phpunit.xml
MacBook-Pro:www username$ phpunit -c app/
MacBook-Pro:www username$ phpunit -c app/ src/MatchTracker/Bundle/Tests/Controller/AuthenticationControllerTest.php
PHPUnit 3.7.8 by Sebastian Bergmann.
Configuration read from /Users/username/Dropbox/www/matchtracker.be/www/app/phpunit.xml
F
Time: 1 second, Memory: 21.75Mb
There was 1 failure:
1) MatchTracker\Bundle\Tests\Controller\DefaultControllerTest::testIndex
Failed asserting that 404 matches expected 200.
/Users/username/Dropbox/www/matchtracker.be/www/src/MatchTracker/Bundle/Tests/Controller/AuthenticationControllerTest.php:28
FAILURES!
Tests: 1, Assertions: 1, Failures: 1.
MacBook-Pro:www username$
答案 0 :(得分:2)
phpunit.xml
中的内容是什么?此文件的<testsuites>
部分告诉phpunit哪些目录扫描测试。
请记住phpunit.xml
会覆盖phpunit.xml.dist
。
查看原始phpunit.xml.dist文件,然后移除phpunit.xml
或首先将phpunit.xml.dist
复制到phpunit.xml
。