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

20 php phpunit selenium-rc

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

由于我的1-2个测试用例在一堆测试用例中失败,并且发现这两个测试用例再次难以执行整个测试套件,是否有任何方法无需向其他人添加注释或在不同的套件中复制这两种方法.

感谢所有提前

edo*_*ian 31

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

--filter <pattern>        Filter which tests to run.
Run Code Online (Sandbox Code Playgroud)

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

以下示例测试类BlaTest包含测试用例testSametestElse在文件中BlaTest.php:

// BlaTest.php
<?php

class BlaTest extends PHPUnit_Framework_TestCase {

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

}
Run Code Online (Sandbox Code Playgroud)

在其中运行所有测试用例 BlaTest

此筛选器与测试类名称匹配.

$ phpunit --filter BlaTest
Run Code Online (Sandbox Code Playgroud)

在其中运行单个测试用例 BlaTest

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

$ phpunit --filter testSame BlaTest.php
Run Code Online (Sandbox Code Playgroud)


小智 5

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