PhpUnit无法找到测试文件

时间:2014-09-06 12:38:10

标签: php phpunit composer-php silex autoloader

我目前正在开发一个使用 Silex 作为后端的相当大的Web应用程序。我已经将 PHPUnit 添加到项目中创建了一个简单的测试用例:

class IndexControllerText extends BaseControllerTest
{
    public function testIndexPage()
    {
        $this->assertTrue(true);
    }
}

我的BaseControllerTest用于将应用程序创建为described in the docs

<?php
namespace VendorName\AppName\Tests;

use Silex\WebTestCase;
use Symfony\Component\HttpKernel\HttpKernel;

abstract class BaseControllerTest extends WebTestCase
{
    public function createApplication()
    {
        $app = require __DIR__ . '/../../../../app/bootstrap.php';
        $app['debug'] = true;
        $app['exception_handler']->disable();

        return $app;
    }
}

我的app/bootstrap.php加载编辑器自动加载器:

<?php

require_once __DIR__ . '/../vendor/autoload.php';

$app = new Silex\Application();

require_once __DIR__ . '/config.php';
require_once __DIR__ . '/routing.php';

return $app;

最后我的项目根目录中有phpunit.xml。请参阅this gist

不幸的是,当我运行phpunit -c phpunit.xml时,结果显示:

  

没有执行测试!

直接运行IndexControllerTest

phpunit -c phpunit.xml src/VendorName/AppName/Tests/IndexControllerText.php

它运行测试并按预期返回成功。我很确定我phpunit.xml中的配置错误,但我似乎无法弄明白。

<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
     backupStaticAttributes="false"
     colors="true"
     convertErrorsToExceptions="true"
     convertNoticesToExceptions="true"
     convertWarningsToExceptions="true"
     processIsolation="false"
     stopOnFailure="false"
     syntaxCheck="false"
>
<testsuites>
    <testsuite name="YourApp Test Suite">
        <directory>./tests/</directory>
    </testsuite>
</testsuites>
</phpunit>

1 个答案:

答案 0 :(得分:1)

我感觉到一个错字:

IndexControllerText

这可能应该用S测试,而不是带X的TEXT。