可通过官网地址codeception.com/docs/UnitTe…进行学习,官网说得很清楚,本文只是学习记录,友情提示:结合GPT高效学习。
准备工作
1、安装 Codeception:您可以使用 Composer 在项目中安装 Codeception。在终端中进入项目根目录,然后运行以下命令:
composer require "codeception/codeception" --dev
2、初始化测试套件:在项目根目录中,使用以下命令初始化测试套件:
vendor/bin/codecept bootstrap
这会创建一个 tests
目录,并在其中创建一些默认的测试文件和配置文件。
3、配置测试套件:您需要根据您的项目需求配置测试套件。在 tests
目录中,有一个名为 codeception.yml
的配置文件,其中包含了测试套件的配置信息。您可以根据需要修改该文件。
一旦您完成了上述准备工作,就可以执行 php vendor/bin/codecept build
命令来构建测试套件了。该命令将根据测试套件的配置信息生成测试文件和测试类,并将其保存在 tests/_support
目录中。
单元测试配置
unit.suite.yml
是 Codeception 单元测试套件的配置文件,它定义了单元测试套件的各种设置和参数。
# Codeception Test Suite Configuration
# suite for unit (internal) tests.
# RUN `build` COMMAND AFTER ADDING/REMOVING MODULES.
class_name: UnitTester
modules:
enabled:
- Asserts
- Yii2:
part: [orm, email, logger]
modules
: 定义单元测试套件使用的模块。例如,Asserts
模块提供了各种断言方法,Db
模块提供了数据库操作方法等。
执行 php vendor/bin/codecept build
命令可以生成测试运行所需的自动加载文件和其他必要的文件。这个命令会根据 unit.suite.yml
文件中的配置生成一些必要的文件,例如测试类的自动加载文件、测试结果输出目录等。如果没有执行这个命令,可能会导致测试运行失败或者出现其他问题。因此,在运行单元测试之前,建议先执行 php vendor/bin/codecept build
命令,以确保测试环境的正确设置。
执行 php vendor/bin/codecept build
命令会生成 tests/_support/_generated/UnitTesterActions.php
文件,其中包含了所有模块中定义的测试步骤方法。这个文件会被自动加载到测试运行环境中,以便在测试中使用这些测试步骤方法。
需要注意的是,如果你修改了模块中的测试步骤方法,需要重新执行 php vendor/bin/codecept build
命令来更新 UnitTesterActions.php
文件,否则修改后的测试步骤方法将不会生效。
更多modules
可查看官方链接 https://codeception.com/docs/ModulesAndHelpers
单元测试脚本开发
使用 generate:test 命令创建测试,并将套件和测试名称作为参数:
php vendor/bin/codecept generate:test Unit Example
生成ExampleTest.php文件,文件内容: