網頁

2018/12/4

Eclipse 寫一支簡單的程式及JUnit測試程式並執行覆蓋率測試

本篇主要是要介紹怎麼使用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才能達到更高的覆蓋率。


沒有留言:

張貼留言