JUnit單元測試--IntelliJ IDEA

單元測試的基本使用

1、環境配置數據庫

     使用idea IDE 進行單元測試,首先須要安裝JUnit 插件。數組

          1.安裝JUnit插件步驟ide

              File-->settings-->Plguins-->Browse repositories-->輸入JUnit-->選擇JUnit Generator V2.0安裝。函數

          2.使用JUnit插件單元測試

             在須要進行單元測試的類中,使用快捷鍵alt+insert,選擇JUnit test,選擇JUnit4。測試

2、單元測試ui

代碼Demo:this

  @Test
    public void testAdd() {
        assertEquals(2, new UserDao().add(1, 1));
    }

1>注意事項:idea

    一、測試方法上面必須使用@Test註解進行修飾。spa

    二、測試方法必須使用public void 進行修飾,不能帶有任何參數。

    三、新建一個源代碼目錄用來存放測試代碼。

    四、測試類的包應該與被測試類的包保持一致。

    五、測試單元中的每個方法必須獨立測試,每一個測試方法之間不能有依賴。

    六、測試類使用Test作爲類名的後綴(非必要)。

    七、測試方法使用test做爲方法名的前綴(非必要)。

2>錯誤解析:

    一、Failure 通常是單元測試使用的斷言方法判斷失敗引發,說明預期結果和程序運行結果不一致。

    二、error 是有代碼異常引發的,他產生於測試代碼自己中的Bug。

    三、測試用例是否是用來證實你是對的,而是用來證實你沒有錯。

3>測試流程:

代碼Demo:    

    @BeforeClass
    public static void setUpBeforeClass() throws Exception {

    }
    @AfterClass
    public static void setUpAfterClass() throws Exception {

    }

    @Before
    public void before() throws Exception {

    }

    @After
    public void after() throws Exception {

    }

      一、@BeforeClass所修飾的方法在全部方法加載前執行,並且他是靜態的在類加載後就會執行該方法,

         在內存中只有一份實例,適合用來加載配置文件。

      二、@AfterClass所修飾的方法在全部方法執行完畢以後執行,一般用來進行資源清理,例如關閉數據庫鏈接。

      三、@Before和@After在每一個測試方法執行前都會執行一次。

4>經常使用註解

      一、@Test(excepted=XX.class) 在運行時忽略某個異常。

      二、@Test(timeout=毫秒) 容許程序運行的時間。

      三、@Ignore 所修飾的方法被測試器忽略。

      四、RunWith 能夠修改測試運行器 org.junit.runner.Runner

5>測試套件

      測試套件是組織測試類一塊兒運行的測試類。具體以下:

代碼Demo:

@RunWith(Suite.class)
@Suite.SuiteClasses({UserTest1,UserTest2,UserTest3})
public class SuiteTest{
    
}

  注意事項:

      一、做爲測試套件的入口類,類中不能包含任何方法。

      二、更改測試運行器Suite.class。

      三、將須要運行的測試類放入Suite.SuiteClasses({})的數組中。

6>參數化設置

      須要測試的僅僅是測試數據,代碼結構是不變的,只須要更改測試數據。

代碼Demo:    

@RunWith(Parameterized.class)
public class parameterTest {
    int expected = 0;
    int input1 = 0;
    int input2 = 0;

    @Parameters
    public static Collection<Object[]> t() {
        return Arrays.asList(new Object[][]{
                {3,1,2},
                {5,2,3}
        });
    }

    public parameterTest(int expected,int input1,int input2) {
        this.expected = expected;
        this.input1 = input1;
        this.input2 = input2;
    }

    @Test
    public void testAdd() {
        assertEquals(expected, UserDao.add(input1,input2));
    }

}

    具體步驟:

        一、更改默認的測試運行器爲@RunWith(Parameterized.class)。

        二、聲明變量來存放預期值和測試值。

        三、聲明一個返回值爲Collection的公共靜態方法,並用@Parameters修飾。

        四、爲測試類聲明一個帶有參數的公共構造函數,並在其中爲他聲明變量賦值。

以上爲基於IntelliJ IDEA 進行的單元測試。       

相關文章
相關標籤/搜索