从PHPUnit获得以下错误:
Fatal error: Class 'FoobarTest'Money'Money'
not found in /www/foobar/tests/FoobarTest/Money/MoneyTest.php on line 11
我的结构是这样的:
/src/Foobar/Money/Money.php (class Money, namespace Foobar'Money)
/tests/FoobarTest/Money/Money.php (class Money, namespace FoobarTest'Money)
通过作曲家完成的自动加载:
"autoload": {
"psr-4": {
"Foobar''": "src/"
},
"psr-0": {
"FoobarTest''": "tests/"
}
},
已尝试使用 PSR0, PSR2, PSR4, ...
金钱测试类:
<?php
namespace FoobarTest'Money;
class MoneyTest extends 'PHPUnit_Framework_TestCase
{
// ...
金钱类:
<?php
namespace Foobar'Money;
class Money
{
// ...
为什么它试图加载FoobarTest'Money'Money
而不是Foobar'Money'Money
?
为了帮助 php 自动加载器(和作曲家),您必须使用
use Foobar'Money'Money;
在测试文件中。
此外,您可能还希望为测试文件指定一个MoneyTest.php
名称以匹配相应的类名。