我目前正在開發一個相當大的web應用程序,它使用Silex作爲後端。我已經加入PHPUnit的該項目創建了一個簡單的測試案例: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>
您還沒有顯示文件你懷疑的錯誤是在文本: 'phpunit.xml'。 – Sven 2014-09-06 15:52:41
它在我提供的鏈接。這篇文章太長了。 – ferdynator 2014-09-06 15:54:56
我把那個文件計算得比其他代碼少,我添加了我在你鏈接的頁面上找到的內容。請確認這是您正在使用的文件。 – Sven 2014-09-06 20:28:54