我目前正在为 Symfony2 开发比特币支付包。你可以在我的github上查看。它还没有(我希望)完全由测试驱动开发,但我尽量让它尽可能地被测试覆盖。
Bundle 包含AbstractCommand
实现CommandInterface
接口的类。因为它是一个抽象类,所以不需要实现接口的每一个方法。伟大的。
接下来,我有AbstractCommandTest
测试用例。它测试该validateParameters
方法是否有效。测试涵盖课程的每一行。但是......当我在我的 IDE(带有 PHP 插件的 IntelliJ Idea)上运行测试覆盖率分析时,它表明覆盖率高达 93%。这很奇怪,因为没有一条线用红色标记(我已经更改了默认配色方案,所以我看得很清楚;))。
问题是:为什么?是 PHPUnit 错误吗?或者可能是类模型构建问题?当我在 AbstractCommand (并且没有接口)中有抽象方法时,它们也没有被覆盖。