我在包工作Laravel 5和我PHPUnit測試與錯誤而失敗PHPUnit的:我的包類沒有找到
「類VENDORNAME \ PACKAGENAME \ MyPackage的未找到」
我仍然無法確定是什麼原因導致了這個錯誤,如果有人協助我會很高興。
這是我的結構是什麼樣子:
MyPackageTest:
src/
├─ MyPackage.php
test/
├─ MyPackageTest.php
composer.json
composer.lock
Composer.json
"psr-4": {
"VendorName\\PackageName\\": "src/"
},
"autoload-dev": {
"psr-4": {
"VendorName\\PackageName\\Test\\": "tests/"
}
},
這是(可能是)在我的錯誤的來源。 php
namespace VendorName\PackageName\Test;
use PHPUnit\Framework\TestCase;
use VendorName\PackageName\MyPackage;
class MyPackageTest extends TestCase
{
protected $app;
public function setUp()
{
$this->app = new MyPackage();
}
}
這是我的phpunit.xml文件
<phpunit xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="http://schema.phpunit.de/4.5/phpunit.xsd"
backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
covertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false"
syntaxCheck="false"
>
<testsuites>
<testsuite name="Interswitch Test Suite">
<directory suffix=".php">./tests/</directory>
</testsuite>
</testsuites>
</phpunit>
我也做了平常composer dump-autoload
儀式得到這個工作,因爲它應該,但都無濟於事。
我還在上面的內容中更改了我的Laravel項目根目錄中的composer.json
文件,但仍然無法使其工作。
嘗試要求您的供應商自動加載的文件或文件phpunit.xml引導它。 – follio
@Follio我已經做了'bootstrap =「vendor/autoload.php」' – youngbobby
在app.php中添加require provider和別名 – Komal