2014-09-06 111 views
1

我目前正在開發一個相當大的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> 
+0

您還沒有顯示文件你懷疑的錯誤是在文本: 'phpunit.xml'。 – Sven 2014-09-06 15:52:41

+0

它在我提供的鏈接。這篇文章太長了。 – ferdynator 2014-09-06 15:54:56

+1

我把那個文件計算得比其他代碼少,我添加了我在你鏈接的頁面上找到的內容。請確認這是您正在使用的文件。 – Sven 2014-09-06 20:28:54

回答

1

我感覺到一個錯字:

IndexControllerText 

這大概應該是測試用S,不是有X.

+0

有時候可以很簡單!謝謝! – ferdynator 2014-09-07 10:52:24

相關問題