我正在使用Codeception来TDD开发PHP中的简单应用程序。我已经用一个简单的断言创建了我的第一个单元测试,名为DogTest.php,但是它抱怨无法找到Dog类。
我已经在根目录中创建了一个Dog.php文件,并将其放置在/ src下,但是都无法正常工作。我认为这要么是名称空间问题,要么是自动加载器问题,但是Codeception文档(以及我查看过的各种TDD指南)都缺少这个重要的细节。
有人可以建议如何让我的DogTest检测Dog类吗?
答案 0 :(得分:2)
在composer.json中,确保已添加自动加载配置。例如:
"autoload":{
"psr-4":{
"Del\\":"src/"
}
}
src中的每个文件都应具有名称空间Del
。例如,src/Blank.php
如下所示:
<?php
namespace Del;
class Blank
{
}
src/Http/Client.php
的命名空间为Del\Http
。
添加后,运行composer dumpautoload
来生成类映射。您的课程现在应该可以自动加载了,没有问题。
有关更多信息,请参阅我的带有代码接受测试的空白入门项目。