Q: Why does Clover use source code instrumentation?
Source code instrumentation is the most powerful, flexible and accurate way to provide code coverage analysis. |
Possible feature | JVMDI/PI | Bytecode instrumentation | Source code instrumentation |
|---|---|---|---|
Gathers method coverage | はい | はい | はい |
Gathers statement coverage | line only | indirectly | はい |
Gathers branch coverage | indirectly | indirectly | はい |
Can work without source | はい | はい | いいえ |
Requires separate build | いいえ | いいえ | はい |
Requires specialised runtime | はい | はい | いいえ |
Gathers source metrics | いいえ | いいえ | はい |
View coverage data inline with source | not accurate | not accurate | はい |
Source level directives to control coverage gathering | いいえ | いいえ | はい |
Control which entities are reported on | limited | limited | はい |
Compilation time | no impact | 変数 | 変数 |
Runtime performace | high impact | 変数 | 変数 |
Container friendly | いいえ | いいえ | はい |