qase / phpunit-reporter
Qase PHPUnit 报告器。
v1.2.0
2022-09-15 11:15 UTC
Requires
- php: ^7.4 || ^8.0
- ext-json: *
- phpunit/phpunit: ^8.0 || ^9.0
- qase/api: v1.2.0
- qase/php-client-utils: ^1.0.3
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.4
- phpstan/phpstan: ^1.3
- roave/security-advisories: dev-latest
- slevomat/coding-standard: ^7.0
- squizlabs/php_codesniffer: ^3.6
- vimeo/psalm: ^4.18
This package is auto-updated.
Last update: 2024-09-07 22:00:06 UTC
README
Qase TMS PHPUnit 报告器
发布结果简单易用。
如何集成
composer require qase/phpunit-reporter
使用示例
PHPUnit 报告器能够从您的测试数据自动生成测试用例和测试套件。
但如有必要,您可以在执行测试之前独立注册已存在的测试用例 ID。例如
/** * @qaseId 3 */ public function testCanBeUsedAsString(): void { $this->assertEquals( 'user@example.com', Email::fromString('user@example.com') ); }
要运行测试并创建测试运行,请执行以下命令
$ ./vendor/bin/phpunit
测试运行将被执行并在以下位置可用:
https://app.qase.io/run/QASE_PROJECT_CODE
如果测试失败,将自动创建缺陷
使用参数化
PHPUnit 报告器还允许您对测试用例进行参数化。为此,您需要指定一个数据提供者。示例
/** * @dataProvider additionProvider */ public function testUsingProvider($a, $b, $expected) { $this->assertSame($expected, $a + $b); } public function additionProvider() { return [ [0, 0, 0], [0, 1, 1], [1, 0, 1], [1, 1, 3] ]; }
配置
将扩展添加到您的 phpunit.xml
<extensions> <extension class="Qase\PHPUnit\Reporter"/> </extensions>
报告器选项 (* - 必需)
QASE_REPORT
- 切换是否向 Qase.io 发送报告,设置为1
启用- *
QASE_API_TOKEN
- 访问令牌,更多信息请参阅此处。 - *
QASE_PROJECT_CODE
- 您的项目代码(可以从项目主页中提取,例如,对于https://app.qase.io/project/DEMO
->DEMO
是项目代码。 - *
QASE_API_BASE_URL
- Qase TMS 的 API 端点 URL,默认为https://api.qase.io/v1
。 QASE_RUN_ID
- 允许您使用现有的测试运行而不是创建新的。QASE_RUN_NAME
- 在创建新运行时设置自定义运行名称。QASE_RUN_DESCRIPTION
- 在创建新运行时设置自定义运行描述。QASE_RUN_COMPLETE
- 在测试运行通过后执行 "完成" 功能。QASE_ENVIRONMENT_ID
- Qase TMS 的环境 IDQASE_LOGGING
- 切换调试日志,设置为1
启用
配置文件应命名为 phpunit.xml
,以下是一个此类文件的示例
<?xml version="1.0" encoding="UTF-8"?> <phpunit> <extensions> <extension class="Qase\PHPUnit\Reporter"/> </extensions> <testsuites> <testsuite name="qase-phpunit"> <directory>./tests</directory> </testsuite> </testsuites> <php> <env name="QASE_REPORT" value="1" force="true" /> <env name="QASE_API_TOKEN" value="<api_key>" force="true" /> <env name="QASE_PROJECT_CODE" value="<project_code>" force="true" /> <env name="QASE_API_BASE_URL" value="https://api.qase.io/v1" force="true" /> <env name="QASE_RUN_ID" value="" force="true" /> <env name="QASE_RUN_NAME" value="PHPUnit run" force="true" /> <env name="QASE_RUN_DESCRIPTION" value="PHPUnit automated run" force="true" /> <env name="QASE_RUN_COMPLETE" value="1" force="true" /> <env name="QASE_ENVIRONMENT_ID" value="1" force="true" /> <env name="QASE_LOGGING" value="1" force="true" /> </php> </phpunit>