天天看點

java coverage_Java Log Coverage工具

代碼覆寫需要特殊的工具,因為您試圖找出是否通過任何測試執行了一條生産代碼.你要問的是更模糊一些,可能要容易得多(“這個大類的日志記錄是什麼?”)或者更難以實作(“我們是否記錄了生産中斷的方法” ?“).

對于第一個問題,你可以很快地編寫一個shell腳本來完成這項工作.例如,這是Perl中的骨架.在這裡,我假設我們正在使用SLF4J并且看到“LoggerFactory”的導入足以證明有一個記錄器.

while ($filename = shift) {

open my $in, "

my $loc = 0;

my $log = "NO LOGGER";

while () {

$loc++;

if (m/import org.slf4j.LoggerFactory/) {

$log = "has logger";

}

}

print "$filename : $loc LOC $log\n";

$total{$log} += $loc;

}

print "\n\nTOTAL LOGGED: $total{'has logger'}\nTOTAL UNLOGGED: $total{'NO LOGGER'}\n";

我可以從我的shell運作它來運作一個小項目中的所有Java檔案

$find . -name \*.java -exec perl haslog.pm {} \+

這僅适用于小型項目,而且相當脆弱,但制作更強大的版本并不是一件容易的事.