沒有發現我有以下項目結構作曲家PSR-4級的PHPUnit在同一目錄
src/
├─ MyPackage/
├─ MySDK.php
└─ SDKHelper.php
test/
├─ MySDKTest.php
└─ TestUtils.php
composer.json
composer.lock
我composer.json文件看起來像這樣:
"autoload": {
"psr-4": {
"MyPackage\\": "src/MyPackage"
}
}
一切工作很大,MySDKTest.php
單元測試通過,直到我嘗試添加一些實用方法到第三個文件,TestUtils.php
。當我嘗試從MySDKTest.php
撥打TestUtils::utilityMethod()
時,phpunit抱怨找不到類TestUtils
。
我一直在閱讀有關添加自動加載開發密鑰,我試過的變體,但迄今爲止,似乎沒有任何工作。我應該澄清,我可以在MySDKTest
內使用MySDK
和SDKHelper
方法。 MySDKTest.php
看起來是這樣的,當它的工作原理:
use MyPackage\MySDK;
class MySDKTest extends PHPUnit_Framework_TestCase {
public function testPackage() {
$sdk = new MySDK();
$sdk->exampleMethod();
}
}
對於一個很好的問題,你應該總是提到究竟你試過了,沒有工作。這將使您更容易發現您的錯誤。不要寫*我一直在閱讀關於添加一個自動加載開發密鑰,我嘗試過*的變體,至少顯示了一個你認爲應該完成這個工作的例子。同時顯示無法加載的代碼,而不是已經工作的代碼,即我們需要'TestUtils.php'內容,而不是'MySDKTest.php'。 – Sven
嗨@Sven,我忘了這個問題。事實證明,我確實做的都對。運行'composer.phar install'再次生成一個更新的autoload.php,它解決了這個問題。我將添加我使用的'autoload-dev'配置。 – arik