2012-09-23 55 views
2

在我的Symfony 2.1應用程序中,我無法運行recommendedphpunit -c app/。我收到以下錯誤信息(我加了換行):symfony 2.1:phpunit -c app試圖運行symfony核心測試

PHPUnit 3.6.10 by Sebastian Bergmann. 

Configuration read from /symfony2-dual-auth/app/phpunit.xml.dist 

F 

PHP Fatal error: main(): Failed opening required 
'/symfony2-dual-auth/vendor/symfony/symfony/vendor/autoload.php' 
(include_path='.:/usr/share/php:/usr/share/pear') 
in /symfony2-dual-auth/vendor/symfony/symfony/autoload.php.dist on line 3 

完整的源代碼在這裏:https://github.com/meonkeys/symfony2-dual-auth。除了測試,因爲它沒有通過。這裏的src/Oh/FOSFacebookUserBundle/Tests/SimpleFunctionalTest.php ...

<?php 

namespace Oh\FOSFacebookUserBundle\Tests; 

use Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase; 

class SimpleFunctionTest extends WebTestCase { 

    public function testIndex() { 
    $client = static::createClient(); 

    $crawler = $client->request('GET', '/login'); 

    $this->assertEquals(1, $crawler->filter('html:contains("Remember me")')->count()); 
    } 

} 
+0

您是否從Symfony 2更新到Symfony 2.1?因爲在乾淨的Symfony 2.1安裝中,autoload.php.dist應該嘗試將Composer自動加載器包含在vendors目錄中。嘗試使用作曲家重新安裝供應商。 PHPUnit沒有嘗試運行Symfony核心測試,但需要使用自動加載器來運行功能測試。這就是爲什麼你不需要在測試類中require_once所有的依賴關係。 – Mark

+0

@Mark - 不,我分叉了Symfony 2.1標準發行版。我的代碼直接在最新的2.1.x版本上構建。我的測試沒有任何'require *'指令。錯誤來自Symfony2核心測試,由於某種原因正在運行。我將包括堆棧跟蹤。 AHA ...我使用了錯誤的WebTestCase.php文件...我會更新我的問題並自己回答。 –

+0

啊,你找到答案了! – Mark

回答

6

我正在擴大黃班。 Here's the fix

-use Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase; 
+use Symfony\Bundle\FrameworkBundle\Test\WebTestCase; 
+0

Puh,很難找到,thx。 – ownking