我无法弄清楚我的phpunit测试没有在同一名称空间中找到一个类的原因。
composer.json
"autoload": {
"psr-4": {
"LeonLombard\\OandaApi\\": ["src"]
}
},
"autoload-dev": {
"psr-4": {
"LeonLombard\\OandaApi\\": ["tests"]
}
},
的src / OandaApi.php
<?php namespace LeonLombard\OandaApi;
class OandaApi
{
}
测试/ OandaApiTest.php
<?php namespace LeonLombard\OandaApi;
class OandaApiTest extends \PHPUnit_Framework_TestCase
{
public function testGetAnInstrumentListWithDefaultOptions()
{
$oandaApi = new OandaApi();
}
}
测试/ phpunit.xml
<phpunit
bootsrap="../vendor/autoload.php"
>
<testsuites>
<testsuite name="All Tests">
<directory>./</directory>
</testsuite>
</testsuites>
</phpunit>
这是我在运行phpunit --config tests/phpunit.xml
时遇到的错误:
致命错误:Class&#39; LeonLombard \ OandaApi \ OandaApi&#39;在第7行的/Users/leonlombard/Sites/oanda-api/tests/OandaApiTest.php中找不到
任何想法都将不胜感激。我见过其他类似设置的帖子,看不出为什么他们会工作而不是我的。
感谢。
答案 0 :(得分:0)
是否可以使用 src / 和 tests / 添加 / composer.json
的psr-04中的em> 目录
在composer.json
中<强> 之前 强>
"autoload": {
"psr-4": {
"LeonLombard\\OandaApi\\": ["src"]
}
},
"autoload-dev": {
"psr-4": {
"LeonLombard\\OandaApi\\": ["tests"]
}
},
<强> 后 强>
"autoload": {
"psr-4": {
"LeonLombard\\OandaApi\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"LeonLombard\\OandaApi\\": "tests/"
}
},
我认为它适合你。 以下是链接,请访问该网站。对您有所帮助。 https://getcomposer.org/doc/04-schema.md#psr-4
谢谢。