bookit / codeception-testrail
TestRail 报告的 Codeception 扩展
Requires
- codeception/codeception: ^2.2
- guzzlehttp/guzzle: ^6.2
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-18 19:59:27 UTC
README
此 Codeception 扩展为测试向 TestRail 报告结果提供功能,使用 TestRail API v2。
注意:该扩展目前仅支持 Cest
Codeception 测试格式。它不能报告 PHPUnit 或 Cept
测试。
安装
安装此插件最简单的方法是使用 Composer。您可以通过运行以下命令来安装模块
composer require --dev bookit/codeception-testrail
工作原理
扩展挂载了以下 Codeception 事件:suite.after
、test.success
、test.skipped
、test.incomplete
、test.error
和 test.fail
。扩展还提供了一些辅助方法,如 _initialize()
方法。
在 _initialize()
步骤中,模块将获取项目详细信息并为运行创建一个新的计划。计划名称可以是程序生成的,但默认情况下将使用 Y-m-d H:i:s 格式的日期和时间。在此步骤中,默认状态列表将由配置中的任何内容覆盖。
在 test.success
、test.skipped
、test.incomplete
、test.error
和 test.fail
事件期间,将记录该事件的测试结果。使用注解(@tr-suite
和 @tr-case
)为测试设置 TestRail 测试套件和 TestRail 测试用例。TestRail 测试套件可以设置在类级别或方法级别;方法级别的注解具有优先级。TestRail 测试用例只能设置在方法级别。此外,将记录并格式化测试的耗时。
在 after.suite
事件期间,将收集的结果传输到 TestRail。这是通过执行两个操作来完成的。第一个操作是为结果集中每个 TestRail 测试套件创建一个 TestRail 测试计划条目。Test Plan Entry 只包含已注册的测试用例。Test Plan Entry 将以 Codeception 测试套件和 TestRail 测试套件命名,两者之间用冒号分隔。
在创建 Test Plan Entry 后,将捕获 Test Run ID 并使用批量测试结果操作传输测试结果。在将结果传递到 TestRail 之前,将过滤掉任何将 TestRail 系统状态设置为 未测试 的结果。当尝试设置此状态时,TestRail API 会发出错误。
默认状态映射如下
配置
该扩展需要设置四个配置参数(user
、apikey
、project
)。还有其他配置选项可以覆盖状态和禁用与 TestRail 的连接。
要启用扩展,可以在您的 codeception.yml
配置文件中添加以下内容
extensions: enabled: - BookIt\Codeception\TestRail\Extension
全局配置选项(如 user
和 apikey
)也应设置在 codeception.yml
配置中
extensions: config: BookIt\Codeception\TestRail\Extension: enabled: false # When false, don't communicate with TestRail (optional; default: true) user: 'mark.randles@bookit.com' # A TestRail user (required) apikey: 'REDACTED' # A TestRail API Key (required) url: 'https://myurl.testrail.com' # The base URL for you TestRail Instance project: 9 # TestRail Project ID (required) status: success: 1 # Override the default success status (optional) skipped: 11 # Override the default skipped status (optional) incomplete: 12 # Override the default incomplete status (optional) failed: 5 # Override the default failed status (optional) error: 5 # Override the default error status (optional)
更多信息
许可证
MIT
(c) BookIt.com 2016