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 现在应该可以毫无问题地自动加载。
有关更多信息,请参阅我的带有代码检测测试的空白入门项目。
我在 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 现在应该可以毫无问题地自动加载。
有关更多信息,请参阅我的带有代码检测测试的空白入门项目。