1

我刚刚在 OS X + MAMP 上安装了 PHPUnit。(我的 phpunit 安装在我的 MAMP 文件夹中,所以我将它复制到 /usr/bin 因为我无法在没有路径的终端中使用“phpunit”命令)

新建 Symfony 文件夹

当我转到一个新的 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)


自己的 symfony 网站

但是当我去我自己的小 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$
4

1 回答 1

2

你的里面有什么phpunit.xml<testsuites>该文件的部分告诉 phpunit 哪些目录扫描测试。

请记住,phpunit.xml覆盖phpunit.xml.dist.

查看原始phpunit.xml.dist文件,然后删除phpunit.xml或首先复制phpunit.xml.distphpunit.xml.

于 2012-11-03T18:51:31.953 回答