Question

UPDATE

I've fixed the problem, It was all about the right permissions in app/cache and app/logs.


When I try to run PHPUnit in symfony2, Using this command phpunit -c app/ i get this huge error message:

PHPUnit 3.7.28 by Sebastian Bergmann.

Configuration read from /var/www/task/app/phpunit.xml.dist

PHP Warning:  Uncaught exception 'PHPUnit_Framework_Error_Warning' with message 'require_once(/var/www/task/vendor/symfony/symfony/vendor/autoload.php): failed to open stream: No such file or directory' in /var/www/task/vendor/symfony/symfony/autoload.php.dist:9 Stack trace:
#0 /var/www/task/vendor/symfony/symfony/autoload.php.dist(9): PHPUnit_Util_ErrorHandler::handleError(2, 'require_once(/v...', '/var/www/task/v...', 9, Array)
#1 /var/www/task/vendor/symfony/symfony/autoload.php.dist(9): require_once()
#2 /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/AppKernel.php(26): require_once('/var/www/task/v...')
#3 /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php(47): require_once('/var/www/task/v...')
#4 /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php(54): Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase::getKernelClass()
#5 /var/www/task/vendor/symfony/symfon in /var/www/task/vendor/symfony/symfony/autoload.php.dist on line 9 

PHP Stack trace:
PHP   1. {main}() /home/rafael/composer-packages/vendor/phpunit/phpunit/composer/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /home/rafael/composer-packages/vendor/phpunit/phpunit/composer/bin/phpunit:63
PHP   3. PHPUnit_TextUI_Command->run() /home/rafael/composer-packages/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /home/rafael/composer-packages/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php:176
PHP   5. PHPUnit_Framework_TestSuite->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:349
PHP   6. PHPUnit_Framework_TestSuite->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:705
PHP   7. PHPUnit_Framework_TestSuite->runTest() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:745
PHP   8. PHPUnit_Framework_TestCase->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:775
PHP   9. PHPUnit_Framework_TestResult->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:783
PHP  10. PHPUnit_Framework_TestCase->runBare() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php:648
PHP  11. Tsk\UserBundle\Tests\Unit\Entity\ModelTestCase->setUp() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:835
PHP  12. Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient() /var/www/task/src/Tsk/UserBundle/Tests/Unit/Entity/ModelTestCase.php:13
PHP  13. Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase::createKernel() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php:46
PHP  14. Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase::getKernelClass() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php:54
PHP  15. require_once() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php:47
PHP  16. require_once() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/AppKernel.php:26 PHP Fatal error:  main(): Failed opening required '/var/www/task/vendor/symfony/symfony/vendor/autoload.php' (include_path='/var/www/task/vendor/phpunit/php-text-template:/var/www/task/vendor/phpunit/phpunit-mock-objects:/var/www/task/vendor/phpunit/php-timer:/var/www/task/vendor/phpunit/php-token-stream:/var/www/task/vendor/phpunit/php-file-iterator:/var/www/task/vendor/phpunit/php-code-coverage:/var/www/task/vendor/phpunit/phpunit:/var/www/task/vendor/symfony/yaml:/home/rafael/composer-packages/vendor/phpunit/php-text-template:/home/rafael/composer-packages/vendor/phpunit/phpunit-mock-objects:/home/rafael/composer-packages/vendor/phpunit/php-timer:/home/rafael/composer-packages/vendor/phpunit/php-file-iterator:/home/rafael/composer-packages/vendor/phpunit/php-code-coverage:/home/rafael/composer-packages/vendor/phpunit/php-token-stream:/home/rafael/composer-packages/vendor/phpunit/phpunit:/home/rafael/composer-packages/vendor/symfony/yaml:.:/usr/share/php:/usr/share/pear') in /var/www/task/vendor/symfony/symfony/autoload.php.dist on line 9 

PHP Stack trace:
PHP   1. {main}() /home/rafael/composer-packages/vendor/phpunit/phpunit/composer/bin/phpunit:0
PHP   2. PHPUnit_TextUI_Command::main() /home/rafael/composer-packages/vendor/phpunit/phpunit/composer/bin/phpunit:63
PHP   3. PHPUnit_TextUI_Command->run() /home/rafael/composer-packages/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php:129
PHP   4. PHPUnit_TextUI_TestRunner->doRun() /home/rafael/composer-packages/vendor/phpunit/phpunit/PHPUnit/TextUI/Command.php:176
PHP   5. PHPUnit_Framework_TestSuite->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/TextUI/TestRunner.php:349
PHP   6. PHPUnit_Framework_TestSuite->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:705
PHP   7. PHPUnit_Framework_TestSuite->runTest() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:745
PHP   8. PHPUnit_Framework_TestCase->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestSuite.php:775
PHP   9. PHPUnit_Framework_TestResult->run() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:783
PHP  10. PHPUnit_Framework_TestCase->runBare() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestResult.php:648
PHP  11. Tsk\UserBundle\Tests\Unit\Entity\ModelTestCase->setUp() /var/www/task/vendor/phpunit/phpunit/PHPUnit/Framework/TestCase.php:835
PHP  12. Symfony\Bundle\FrameworkBundle\Test\WebTestCase::createClient() /var/www/task/src/Tsk/UserBundle/Tests/Unit/Entity/ModelTestCase.php:13
PHP  13. Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase::createKernel() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Test/WebTestCase.php:46
PHP  14. Symfony\Bundle\FrameworkBundle\Tests\Functional\WebTestCase::getKernelClass() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php:54
PHP  15. require_once() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/WebTestCase.php:47
PHP  16. require_once() /var/www/task/vendor/symfony/symfony/src/Symfony/Bundle/FrameworkBundle/Tests/Functional/app/AppKernel.php:26

My phpunit.xml.dist file:

<?xml version="1.0" encoding="UTF-8"?>

<!-- http://www.phpunit.de/manual/current/en/appendixes.configuration.html -->
<phpunit
    backupGlobals               = "false"
    backupStaticAttributes      = "false"
    colors                      = "true"
    convertErrorsToExceptions   = "true"
    convertNoticesToExceptions  = "true"
    convertWarningsToExceptions = "true"
    processIsolation            = "false"
    stopOnFailure               = "false"
    syntaxCheck                 = "false"
    bootstrap                    = "bootstrap.php.cache" >

    <testsuites>
        <testsuite name="Project Test Suite">
            <directory>../src/*/*Bundle/Tests</directory>
            <directory>../src/*/Bundle/*Bundle/Tests</directory>
        </testsuite>
    </testsuites>

    <!--
    <php>
        <server name="KERNEL_DIR" value="/path/to/your/app/" />
    </php>
    -->

    <filter>
        <whitelist>
            <directory>../src</directory>
            <exclude>
                <directory>../src/*/*Bundle/Resources</directory>
                <directory>../src/*/*Bundle/Tests</directory>
                <directory>../src/*/Bundle/*Bundle/Resources</directory>
                <directory>../src/*/Bundle/*Bundle/Tests</directory>
            </exclude>
        </whitelist>
    </filter>

</phpunit>

My app/autoload.php:

<?php

use Doctrine\Common\Annotations\AnnotationRegistry;
use Composer\Autoload\ClassLoader;

/**
 * @var ClassLoader $loader
 */
$loader = require __DIR__.'/../vendor/autoload.php';

AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

return $loader;

My vendor/symfony/symfony/autoload.php.dist :

<?php

if (version_compare(PHP_VERSION, '5.4', '>=') && gc_enabled()) {
    // Disabling Zend Garbage Collection to prevent segfaults with PHP5.4+
    // https://bugs.php.net/bug.php?id=53976
    gc_disable();
}

$loader = require_once __DIR__.'/vendor/autoload.php';

use Doctrine\Common\Annotations\AnnotationRegistry;

AnnotationRegistry::registerLoader(array($loader, 'loadClass'));

return $loader;

Any help would be greatly appreciated, I'm stuck in this error for like 4 hours.

Was it helpful?

Solution 3

UPDATE

I've fixed the problem, It was all about the right permissions in app/cache and app/logs.

sudo chmod -R 777 app/cache
sudo chmod -R 777 app/logs

OTHER TIPS

This error message also occurs if you are not careful enough when auto-importing use statements with your IDE. That said, importing

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

by mistake instead of

use Symfony\Bundle\FrameworkBundle\Test\WebTestCase;

causes the same error.

It looks like you forgot to install your vendors. To do that execute composer update (you need Composer for this). After that, you can execute the tests and use your app.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top