2009-12-26 78 views
4

我不想有时为了节省时间而运行所有测试。我知道我可以评论这些测试。但是这种方法并不优雅。我想知道是否有一些简单的方法来做到这一点。不在PHPUnit中运行一些测试?

所有建议表示赞赏。

感谢您的时间和问候, 里面,他

+0

如果解决了这个问题,您应该在其中一个答案旁边打勾。 – Zaz 2010-08-02 21:18:09

+0

感谢乔希提醒我。 – Box 2010-08-02 22:52:57

回答

10

@group

的测试可以被标记为可用@group注解这样

class MyTest extends PHPUnit_Framework_TestCase 
{ 
    /** 
    * @group specification 
    */ 
    public function testSomething() 
    { 
    } 

    /** 
    * @group regresssion 
    * @group bug2204 
    */ 
    public function testSomethingElse() 
    { 
    } 
} 
属于一个或多个组

可以使用命令行测试运行程序的--group和--exclude-group开关或使用相应的指令,选择基于组执行测试以执行测试的XML配置文件。

+0

非常感谢您的回答。 :) – Box 2009-12-28 12:16:17

+0

不客气。 – Diadistis 2009-12-28 12:34:15

8

phpunitcommand line test runner--filter参数,它是一个正则表达式来匹配执行的测试用例名称。

假设您需要排除所有包含“Foo”的测试用例。然后,使用:

--filter /^(?:(?!Foo).)*$/ 
+0

非常感谢您使用这种替代方法。 :) – Box 2009-12-28 12:17:25

+0

不客气! – 2009-12-28 13:42:28

+0

你实际上并不需要将其定义为正则表达式,普通的旧字符串也可以工作。 – garrow 2010-08-02 07:18:19