composer.json
"require": {
"php": ">=5.6.4",
"laravel/framework": "5.4.*",
"laravel/socialite": "^3.0",
...
"chencha/share": "^5.2"
},
"require-dev": {
"fzaninotto/faker": "~1.4",
"mockery/mockery": "0.9.*",
"phpunit/phpunit": "~5.7"
},
...
"autoload-dev": {
"psr-4": {
"Tests\": "tests/"
}
},
phpunit.xml
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>
当我运行phpunit
时,它给了我以下错误
PHP Fatal error: Class 'OrchestraTestbenchTestCase' not found in /usr/lib/php5/voice/v1.5/vendor/chencha/share/tests/TestCase.php on line 3
我可以在我的require-dev
下添加"orchestra/testbench": "~3.0"
,这将解决该问题,但是我只能在没有插件的测试用例的情况下运行测试用例?
在标准配置中,未运行来自供应商目录的测试。您显示的phpunit.xml似乎很正常,因此您应该确保在有效目录中运行测试。在运行测试时,您应该在主要应用程序目录中(查看您的错误,应该是/usr/lib/php5/voice/v1.5/
)。
找到了问题。我没有添加LamesApce use TestsTestCase;
,因为它扩展了外部插件的TestCase
类。我很糟糕,浪费了很多时间。