2016-05-28 44 views
1

while trynig to PHPUnit functional test I got error :錯誤:「在您的phpunit.xml中設置KERNEL_DIR」但KERNEL_DIR在phpunit.xml.dist中設置爲「<server name =」KERNEL_DIR「value =」./「>」

1) TreningBundle\Tests\Controller\DefaultControllerTest::testIndex 
RuntimeException: Either set KERNEL_DIR in your phpunit.xml according to https://symfony.com/doc/current/book/testing.html#your-first-functional-test or override the WebTestCase::createKernel() method. 

http://symfony.com/doc/2.8/book/testing.html說:

if your kernel is in a non-standard directory, you'll need to modify your phpunit.xml.dist

我有文件deafult的Symfony(2.8)的地方phpunit.xml.distAppKErnel.php,裏面app\目錄。無論如何,我下面加線app/phpunit.xml.dist

<php> 
    <server name="KERNEL_DIR" value="./" /> 
</php> 

與結果同樣的錯誤。

安裝的軟件包:

doctrine/annotations     v1.2.7 
doctrine/cache      v1.6.0 
doctrine/collections     v1.3.0 
doctrine/common      v2.6.1 
doctrine/dbal      v2.5.4 
doctrine/doctrine-bundle    1.6.2 
doctrine/doctrine-cache-bundle  1.3.0 
doctrine/inflector     v1.1.0 
doctrine/instantiator    1.0.5 
doctrine/lexer      v1.0.1 
doctrine/orm       v2.5.4 
incenteev/composer-parameter-handler v2.1.2 
ircmaxell/password-compat   v1.0.4 
jdorn/sql-formatter     v1.2.17 
monolog/monolog      1.19.0 
myclabs/deep-copy     1.5.1 
paragonie/random_compat    v2.0.2 
phpdocumentor/reflection-docblock 2.0.4 
phpspec/prophecy      v1.6.0 
phpunit/php-code-coverage   3.3.2 
phpunit/php-file-iterator   1.4.1 
phpunit/php-text-template   1.2.1 
phpunit/php-timer     1.0.8 
phpunit/php-token-stream    1.4.8 
phpunit/phpunit      5.3.4 
phpunit/phpunit-mock-objects   3.1.3 
phpunit/phpunit-skeleton-generator 2.0.1 
psr/log        1.0.0 
sebastian/code-unit-reverse-lookup 1.0.0 
sebastian/comparator     1.2.0 
sebastian/diff      1.4.1 
sebastian/environment    1.3.7 
sebastian/exporter     1.2.1 
sebastian/global-state    1.1.1 
sebastian/object-enumerator   1.0.0 
sebastian/recursion-context   1.0.2 
sebastian/resource-operations  1.0.0 
sebastian/version     1.0.6 
sensio/distribution-bundle   v5.0.6 
sensio/framework-extra-bundle  v3.0.16 
sensio/generator-bundle    v3.0.6 
sensiolabs/security-checker   v3.0.2 
swiftmailer/swiftmailer    v5.4.2 
symfony/monolog-bundle    2.11.1 
symfony/phpunit-bridge    v2.8.6 
symfony/polyfill-apcu    v1.2.0 
symfony/polyfill-intl-icu   v1.2.0 
symfony/polyfill-mbstring   v1.2.0 
symfony/polyfill-php54    v1.2.0 
symfony/polyfill-php55    v1.2.0 
symfony/polyfill-php56    v1.2.0 
symfony/polyfill-php70    v1.2.0 
symfony/polyfill-util    v1.2.0 
symfony/security-acl     v3.0.0 
symfony/swiftmailer-bundle   v2.3.11 
symfony/symfony      v2.8.6 
twig/twig       v1.24.0 

以絕對路徑:

<server name="KERNEL_DIR" value="C:\wamp\www\treningPHPUnitSymfony2.8\app" /> 

同樣的錯誤。

+0

你有沒有正確的與此? –

+0

@SarahRichardson是的,問題與IDE有關。在IDE中您必須在配置測試配置時給出phpunit.xml.dist的路徑。 – Sruj

回答

3

使用Symfony 2.8.17我們的內核在/appphpunit.xml.dist處於同一級別。 所以我們增加了;

<php> 
    .... 
    <server name="KERNEL_DIR" value="app" /> 
</php> 

PS:Extra info; 由於我們的設置,我們還需要使用putenv("X_ENV=test")來獲取配置詳細信息以完成測試。

相關問題