【问题标题】:Not run some tests in PHPUnit?不在 PHPUnit 中运行一些测试?
【发布时间】:2009-12-26 07:30:21
【问题描述】:

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

感谢所有建议。

感谢您的宝贵时间和最诚挚的问候, 盒他

【问题讨论】:

    标签: php unit-testing phpunit


    【解决方案1】:

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

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

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

    【讨论】:

    • 非常感谢您提供这种替代方法。 :)
    • 您实际上不需要将其定义为正则表达式,一个普通的旧字符串也可以。
    【解决方案2】:

    @group

    可以像这样使用@group 注解将测试标记为属于一个或多个组

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

    可以使用命令行测试运行器的 --group 和 --exclude-group 开关或使用 XML 配置文件的相应指令根据组选择要执行的测试。

    【讨论】:

      猜你喜欢
      • 2017-10-19
      • 2021-11-18
      • 2014-04-30
      • 1970-01-01
      • 2011-09-21
      • 2018-10-31
      • 2012-01-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多