Тест PHPUnit... для запуска в многословном режиме в Symfony
Я хочу запустить тест phpunit для моих пакетных тестов в Symfony, и я попробовал следующим образом:
phpunit --verbose src \ MyNameSpace \ MyAppBundle \ Tests \ Controller \ BadDataPostUnitTestControllerTest
но ошибка, которую я вижу:Неустранимая ошибка: класс 'Symfony\Bundle\FrameworkBundle\Test\WebTestCase' не найден в... где я использовал его в своем тестовом классе
Я запускаю команду из командной строки Windows и запускаю команду из корневого каталога Symfony
Я нашел решение отсюда, а также из этого, но когда я пытаюсь получить ошибку.
Присутствует зависимость от композитора. Я проверил в файле composer.json следующие строки:
,
"require-dev": {
"sensio/generator-bundle": "~2.3",
"phpunit/phpunit": "^4.8",
"squizlabs/php_codesniffer": "^2.3",
"phploc/phploc": "^2.1",
"pdepend/pdepend": "^2.1",
"phpmd/phpmd": "^2.2",
"sebastian/phpcpd": "^2.0",
"theseer/phpdox": "0.8.1.1",
"symfony/browser-kit": "^2.7",
"mayflower/php-codebrowser": "^1.1"
}
ОБНОВЛЕНИЕ: Хотя --verbose one показывает ошибку, приведенная ниже команда работает правильно:phpunit -c app /src/NameSpace/MyBundle/Tests/Controller/MyUnitTestControllerTest.php
ОБНОВИТЬ:
Файл /app/phpunit.xml:
<phpunit backupGlobals="false" backupStaticAttributes="false" colors="true" convertErrorsToExceptions="true" convertNoticesToExceptions="true" convertWarningsToExceptions="true" processIsolation="false" stopOnFailure="false" syntaxCheck="false" bootstrap="bootstrap.php.cache" codecoverage="true">
<formatter type="clover" usefile="false"/>
<testsuites>
<testsuite name="EDS Console App Test Suite">
<directory>../src/*/*Bundle/Tests</directory>
<directory>../src/*/Bundle/*Bundle/Tests</directory>
</testsuite>
</testsuites>
<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>
<php>
<server name='SERVER_PORT' value='8080' />
<server name='SERVER_NAME' value='http://myserver.com' />
</php>
<logging>
<log type="coverage-html" target="${basedir}/build/coverage" title="EDL-Console Test Coverage" charset="UTF-8" yui="true" highlight="true" lowUpperBound="35" highLowerBound="70"/>
<log type="coverage-clover" target="${basedir}/build/logs/clover.xml"/>
<log type="junit" target="build/logs/junit.xml" logIncompleteSkipped="false"/>
</logging>
</phpunit>