【问题标题】:Select test cases in a test suite在测试套件中选择测试用例
【发布时间】:2015-12-08 06:20:52
【问题描述】:

好吧,我想创建一个经理,以便能够创建一个 test suite 可能有 10 个 tests cases 并能够选择 tests cases 来运行,例如:

class Test extends \PHPUnit_Extensions_SeleniumTestCase
{
   constants...
   protected function setUp()
   {
        $this->setBrowser(self::BROWSER);
        $this->setBrowserUrl(self::URL);
   }
   public function testFirst()
   {
        code...
   }
   public function testSecond()
   {
        code...
   }
   public function testThird()
   {
        code...
   }
}

我希望能够告诉phpunit 只运行 testFirst 和 testSecond 而不会执行 testThird。

我有一个想法: 为每个测试创建一个单独的testSuites(类)。

有更好的方法吗?

谢谢!

【问题讨论】:

  • 这与这个问题无关,但测试应该绝对独立地运行。阅读更多关于F.I.R.S.T
  • 感谢您的回复,我的测试是独立的,但是例如我有一个包含很多测试的课程,那么执行所有测试的时间太长了......这就是为什么我希望能够选择我自己的测试而不运行所有内容。我会阅读链接。

标签: selenium phpunit


【解决方案1】:

测试应该独立且快速地运行。

并非总是所有测试都执行得很快,所以我通常在开发某些模块时为自定义目录或套件运行测试,并在我想要检查我的工作不会破坏系统的其他部分时运行所有测试。 这是一种不好的做法!最好进行快速测试,如果无法更改它们,则将慢速测试移到额外套件中。

我建议阅读更多有关良好测试原则的信息,称为 F.I.R.S.T

快速:快速运行(子集)测试(因为您将一直运行它们)

独立:没有测试依赖于其他测试,因此可以以任何顺序运行任何子集

可重复:运行 N 次,得到相同的结果(帮助隔离错误并实现自动化)

自检:测试可以自动检测是否通过(无需人工检查输出)

及时:与被测代码几乎同时编写(使用 TDD,先编写!)

【讨论】:

    猜你喜欢
    • 2020-12-13
    • 1970-01-01
    • 2013-04-09
    • 2012-11-25
    • 1970-01-01
    • 1970-01-01
    • 2013-08-31
    • 2011-10-23
    • 1970-01-01
    相关资源
    最近更新 更多