如何跳过 PHPUnit 中的前 N ​​个测试?

Dwa*_*ell 5 phpunit unit-testing

场景:使用 PHPUnit 运行大量测试,并且一些测试(比如 1544 个中的 537 个)在几分钟后失败。变化很小,不太可能影响以前的测试,我希望能够跳过前 536 次测试,做这样的事情来“从我离开的地方开始”:

phpunit --skip=536
Run Code Online (Sandbox Code Playgroud)

当然,我最终会运行所有测试,但现在,我不想等待很多分钟才能回到损坏的测试。我知道我可以运行一个套件,但是如果还有几十个套件需要测试,那将是乏味/无益的。

有办法吗?或者更接近的东西?

Sch*_*eis 2

您可以使用该--filter选项来选择要运行的测试。还有一个--testsuite选项可以用来指定。这两个选项都采用一个模式参数,用于选择您正在运行的测试。

--testsuite选项确实要求您在phpunit.xml文件中创建测试套件才能工作。

还有可以在测试中使用的@group注释,然后可以分别使用--group--exclude-group包含该组或不包含该组。

  • 我最终使用了“--filter”选项作为足够接近的解决方法。例如 `--filter "^[nz]"` 执行测试的“后半部分”。 (2认同)