本篇主要是要介紹怎麼使用Eclipse的程式覆蓋率測試工具(EclEmma Code Coverage plugin)。通常會要寫測試程式的工作就會要求測試程式的覆蓋率。
建立一個簡單的Maven專案,在專案的Build Path加入JUnit Library,然後建立一支程式App.java
及測試程式AppTest.java
如下:
App.java
public class App {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder();
for (String s : args) {
sb.append(s);
}
System.out.println(sb.toString());
}
public int plus(int a, int b) {
return a + b;
}
}
AppTest.java
import static org.junit.jupiter.api.Assertions.*;
import org.junit.jupiter.api.Test;
class AppTest {
App app = new App();
@Test
void testMain() {
String[] ss = { "Hello", "World" };
App.main(ss);
}
@Test
void testPlus() {
int result = app.plus(1, 2);
assertEquals(3, result);
}
}
然後開啟AppTest,並選擇Eclipse功能選單的Run -> Coverge As -> JUnit Test
執行。(或是按下圖的按鈕)
執行後即可在下方的[Coverage]視窗看到每一支程式執行的覆蓋率,且程式碼會被標上綠色或紅色,綠色代表該段程式碼有被執行過,紅色代表沒有被執行過;也就是說綠色部分越多越好,代表你的測試程式的覆蓋率越高。當你的程式邏輯判斷越複雜,就要寫越多的test case才能達到更高的覆蓋率。
沒有留言:
張貼留言