首页 文章

PHPUnit Mocked类方法未在代码覆盖率报告中显示?

提问于
浏览
0

我正在magento2上的一个php项目 . 我正在使用模拟对象来编写单元测试用例 . 我开始知道,当我生成代码覆盖率报告时,Mocked类和方法没有显示在代码覆盖率报告中,我们有什么方法可以显示这些吗?

我调查了官方回购,并将其作为默认行为提及 .

Reference: https://github.com/sebastianbergmann/phpunit-mock-objects/issues/123

任何帮助非常感谢!

谢谢

1 回答

  • 4

    模拟方法没有显示为覆盖,因为它们的代码没有执行(它们是存根的,只返回了预定义的值,而原始代码从未被调用过) .

    你可以做的事情很少:

    • 如果Magento 2有自己的测试,请执行它们 . 这样,magento测试的覆盖范围将被添加到您的 .

    • 以上几点实际上没有多大意义,所以最好忽略代码覆盖率报告中的magento路径 .

    • 添加实际上通过Magento代码的集成测试 . 这是你唯一真正的考验 . 在模拟magento方法时,只需验证代码是否正确调用了方法,或者它是否正确地使用了预期的返回值 . 您永远不会验证该方法调用是否实际上符合您的预期

相关问题