1. 程式人生 > >Java單元測試框架Junit

Java單元測試框架Junit

問題:
1、目前測試存在的問題
2、Junit注意的細節
3、Junit使用規範
4、斷言
5、案例

junit(單元測試框架)
1、目前存在的問題
1、目前的測試方法如果需要測試,都需要在main方法上呼叫
2、目前的結果都需要我們人工比對

2、Junit 注意的細節
1、如果使用junit測試一個方法的時候,在junit視窗上顯示綠色那麼表示測試正確,如果顯示了紅色,則代表該方法測試出現了異常不通過
2、如果點選方法名、類名、包名、工程名執行junit分別測試的是對於的方法,類、包中的所有類的test方法,工程中所有test的方法
3、@Test測試的方法不能是static修飾與不能帶有形參
4、如果測試一個方法的時候需要準備測試的環境或者是清理測試的環境,那麼可以@Before、@After、@BeforeClass、@AfterClass 這四個註釋,@Before、@After 是在每個測試方法測試的時候都會呼叫一次,@AfterClass、@BeforeClass是在所有的測試方法測試之前與之後都會呼叫一次,這個方法必須是靜態的

3、junit使用規範
1、一個類如果需要測試,那麼該類就應該對應著一個測試類,測試類的命名規範:被測試類的類名+Test
2、一個被測試的方法一般對應一個測試的方法,測試的方法的命名規範是:test+被測試的方法的方法名

4、斷言
斷言就是不顯示結果,按照程式執行的預期值和實際值進行比對,顯示執行的狀態。

Assert.assertSame(5, max); // 底層是用了   ==
Assert.assertSame(new String("abc"), "abc");
Assert.assertEquals(new String("abc"), "abc"); //底層是使用Equals方法比較的
Assert
.assertNull("aa"); Assert.assertTrue(true);

5、案例

package cn.xlucas.junit;
import java.io.*;
import org.junit.*;

public class JunitDemo1 {

    //準備測試的環境
    //@Before
    @BeforeClass
    public static void beforeRead(){
        System.out.println("準備測試環境成功...");
    }


    //讀取檔案資料,把把檔案資料都
    @Test
public void readFile() throws IOException{ FileInputStream fileInputStream = new FileInputStream("F:\\a.txt"); int content = fileInputStream.read(); System.out.println("內容:"+content); } @Test public void sort(){ System.out.println("讀取檔案資料排序.."); } //清理測試環境的方法 // @After @AfterClass public static void afterRead(){ System.out.println("清理測試環境.."); } }