从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,......
MoneyTest类:
<?php
namespace FoobarTest\Money;
class MoneyTest extends \PHPUnit_Framework_TestCase
{
// ...
金钱类:
<?php
namespace Foobar\Money;
class Money
{
// ...
为什么要尝试加载 FoobarTest\Money\Money
而不是Foobar\Money\Money
?
答案 0 :(得分:1)
要帮助php自动加载器(和编写器),您必须使用
导入目标类use Foobar\Money\Money;
在您的测试文件中。
此外,您可能希望为测试文件指定一个MoneyTest.php
名称以匹配相应的类名。