在下面的示例代码中,eclema突出显示
var template = null;
var req = new XMLHttpRequest();
req.open('GET', 'http://intranet/text.php', true);
req.onreadystatechange = function (data) {
if (req.readyState == 4) {
if(req.status == 200){
template = data.responseText;
var output = document.createElement('div');
output.innerHTML = template;
output.querySelector('#username').innerHTML = 'get replaced';
console.log(output.innerHTML);
}
else{
dump("An error occured");
}
}
};
req.send(null);
和public class Test {
为红色System.out.println("false");
为黄色我的代码覆盖百分比是62%。 Eclemma报告:
if (a<15)
请有人解释一下,代码覆盖率仅为62%?
Missed Instructions Cov. 62% ,
Missed Branches Cov. 50% ,
Missed 2 ,
Cxty 3 ,
Missed 2 ,
Lines 7 ,
Missed 1,
Methods 2 ,
Missed 0 ,
Classes 1
答案 0 :(得分:0)
EclEmma通常会尝试执行您的测试以计算代码覆盖率。 您的测试应涵盖在普通java类中编写的所有条件。
通常当您一起编写IF-ELSE时,EclEmma预计会编写2个测试来测试这两个条件,如果您的测试只测试IF或ELSE,那么它会标记IF-ELSE黄色表示它已经过部分测试!< / p>
在上面的例子中,你有一个= 10,它总是小于15,所以你的测试只测试IF
部分。因此,您在else
上获得了RED行,因为它根本没有经过测试。
您需要重构代码,以使测试涵盖IF
和ELSE
。那么只有你的代码覆盖率为100%。
您似乎只是在测试EclEmma的工作方式,否则您应该编写适当的Junit测试来测试代码的代码覆盖率。
您可以查看此网址以了解Junits:http://www.tutorialspoint.com/junit/