【问题标题】:Phpunit ignore methods in extending classesPhpunit 忽略扩展类中的方法
【发布时间】:2021-10-19 01:49:59
【问题描述】:

我正在运行 PHPUnit,并且有一个包含一些测试的类

class TestVideo extends BaseTest
    {
        public function setUp()
        {
             //etc...
        }

        public function testA()
        {
            .....;
        }

        public function testB()
        {
            .....;
        }
    }

如果我扩展这个类,所有测试都将在派生类中运行。

class TestPhoneVideo extends TestVideo
    {
       
    }

如果我只希望testBTestPhoneVideo 中运行,而不是testA,该怎么办?

【问题讨论】:

  • BaseTest 不是来自 PHPUnit。如果您使用的是 PHPUnit,那么 TestVideo 应该是 VideoTest 并且 TestPhoneVideo 应该是 PhoneVideoTestTest 后缀而不是前缀)。
  • 我认为你对继承的想法是错误的,继承某些功能而不是其他功能与你继承功能的想法相反,因为它是基类的一种类型。

标签: php unit-testing phpunit


【解决方案1】:

这就是测试用例类的继承方式:如果您从VideoTest 扩展PhoneVideoTest,那么来自VideoTest 的所有测试现在也是PhoneVideoTest 的一部分。

话虽如此,通常的过滤方式是可用的。例如,您可以使用@group 注释您的测试,并选择使用--group (--exclude-group) 运行的测试组。或者你可以使用--filter

【讨论】:

    猜你喜欢
    • 2011-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-04
    • 1970-01-01
    • 1970-01-01
    • 2017-01-22
    • 1970-01-01
    相关资源
    最近更新 更多