PHPUnit过滤组

时间:2015-05-29 07:33:59

标签: phpunit

我正在努力重新配置我们的php单元测试设置,并且只有当它们也属于另一个组时才需要运行属于特定组的测试。例如,我可能会有这样的事情:

/**
 * ...
 * @group Alpha
 * @group area1
 */
class TestAlpha extends PHPUnit_Framework_TestCase
{
    public function testTest1() {
        ...
    }

    public function testTest1() {
        ...
    }
}

/**
 * ...
 * @group numeric
 * @group area1
 */
class TestNumeric extends PHPUnit_Framework_TestCase
{
    public function testTestA() {
        ...
    }

    public function testTestB() {
        ...
    }
}

如果我只想从area1组运行测试,我会使用

phpunit --group area1

但是,我还需要能够从area1群组运行测试,但只有 ,如果他们也属于numeric群组。

如果我运行phpunit --group area1,numeric,则测试将包括在另一个中。我如何运行phpunit只包含测试,如果他们在一个另一个组?类似于--filter参数,但在组级别上。

请注意,我正在处理现有的几百个测试类套件,并且大量重组测试(例如在单独的套件中)并不是我目前无法承受的。

1 个答案:

答案 0 :(得分:0)

  1. phpunit --list-group -c selenium.xml selenium /

    使用此列表所有组

  2. phpunit --exclude-group alpha --group numeric -c selenium.xml selenium /

  3. 排除您不想使用的群组,如alpha