【问题标题】:phpunit: See which tests don't get executedphpunit:查看哪些测试没有被执行
【发布时间】:2012-04-19 12:14:55
【问题描述】:

我有一个很大的 phpunit 测试套件(实际上它是这个特定项目的四个测试套件),执行时,phpunit 显示有 903 个测试:

...............................................................  63 / 903 (  6%)

完成后,显示结果:

OK (901 tests, 1872 assertions)

如您所见,我缺少两个测试。这可能是因为他们的组不正确(我的 phpunit.xml 过滤器组)或者可能有问题。由于测试太多,我不知道如何找到未执行的测试。有没有办法得到这个测试的名字?

【问题讨论】:

  • 你试过用 --verbose 或 --debug 运行 phpunit 吗?
  • 你试过--verbose参数吗?
  • --debug 向我展示了每个执行的测试,--verbose 根本不显示任何信息。我尝试了--list-groups,它显示了我的三个组和一个__nogroup__。将这个组与--group __nogroup__ 一起使用向我展示了一个测试,其中两个私有方法以前缀“test”命名,导致 phpunit 认为这些是真正的测试,而实际上它们不是。

标签: php phpunit


【解决方案1】:

这种行为的原因是两个以“test”为前缀的私有方法。似乎对于测试的总数,phpunit 考虑了所有以“test”为前缀的方法,无论它们是否可以执行。

我使用 phpunit 上的 --list-groups 选项发现了它,这给了我一个名为 __nogroup__ 的组。使用--group __nogroup__ 只执行这个测试给了我两个私有方法所在的类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2012-12-13
    • 1970-01-01
    相关资源
    最近更新 更多