Codeception 单元测试 - 错误 Class 'Dog' 未找到

Codeception unit tests - error Class 'Dog' not found

我在 PHP 中使用 Codeception 来 TDD 开发一个简单的应用程序。我用一个简单的断言创建了我的第一个名为 DogTest.php 的单元测试,但它抱怨无法找到 Dog class.

我在根目录下创建了一个Dog.php文件,也放在了/src下,但是都没有用。我认为这要么是命名空间问题,要么是自动加载器问题,但是 Codeception 文档(以及我看过的各种 TDD 指南)缺少这个重要的细节。

有人可以建议如何让我的 DogTest 检测狗 class?

在您的 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 生成 class 地图。您的 classes 现在应该可以毫无问题地自动加载。

有关更多信息,请参阅我的带有代码检测测试的空白入门项目。

https://github.com/delboy1978uk/blank