qase/phpunit-reporter

Qase PHPUnit 报告器。

v1.2.0 2022-09-15 11:15 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

Output of run

测试运行将被执行并在以下位置可用:

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]
        ];
    }

dashboard

配置

将扩展添加到您的 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 的环境 ID
  • QASE_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>