如何执行从多个测试用例中选择的测试用例

2022-08-30 20:40:38

我想使用php单元轻松地从我的多个测试用例类中执行几个选定的测试用例。

由于我的1-2个测试用例在一堆测试用例中失败了,并且还发现很难再次执行这两个测试套件,因此是否有任何方法可以在不向其他测试用例添加注释或将这两种方法复制到不同的套件中。

提前感谢大家


答案 1

您可以使用 --filter cli 选项从套件中运行单个测试用例或单个测试类:

--filter <pattern>        Filter which tests to run.

--filter运行名称与给定模式匹配的测试。该模式可以是单个测试的名称,也可以是与多个测试名称匹配的正则表达式。

以以下示例测试类为例,其中包含测试用例和文件:BlaTesttestSametestElseBlaTest.php

// BlaTest.php
<?php

class BlaTest extends PHPUnit_Framework_TestCase {

    public function testSame() { $this->assertSame(1,1); }
    public function testElse() { $this->assertSame(1,1); }

}

BlaTest

此筛选器与测试类名匹配。

$ phpunit --filter BlaTest

BlaTest

此筛选器与测试用例名称匹配,然后指示跨文件 BlaTest.php运行此筛选器。

$ phpunit --filter testSame BlaTest.php

答案 2

--filter选项接受正则表达式作为其值(我使用的是phpunit 3.7)。这允许您指定将通过使用如下所示的断言来排除的测试:--filter='/::((?!test(Else|Same))\w+)/'


推荐