1、目前測試存在的問題
2、Junit注意的細(xì)節(jié)
3、Junit使用規(guī)范
4、斷言
5、案例
junit(單元測試框架)
1、目前存在的問題
1、目前的測試方法如果需要測試,都需要在main方法上調(diào)用
2、目前的結(jié)果都需要我們?nèi)斯け葘?/p>
2、Junit 注意的細(xì)節(jié)
1、如果使用junit測試一個方法的時候,在junit窗口上顯示綠色那么表示測試正確,如果顯示了紅色,則代表該方法測試出現(xiàn)了異常不通過
2、如果點(diǎn)擊方法名、類名、包名、工程名運(yùn)行junit分別測試的是對于的方法,類、包中的所有類的test方法,工程中所有test的方法
3、@Test測試的方法不能是static修飾與不能帶有形參
4、如果測試一個方法的時候需要準(zhǔn)備測試的環(huán)境或者是清理測試的環(huán)境,那么可以@Before、@After、@BeforeClass、@AfterClass 這四個注釋,@Before、@After 是在每個測試方法測試的時候都會調(diào)用一次,@AfterClass、@BeforeClass是在所有的測試方法測試之前與之后都會調(diào)用一次,這個方法必須是靜態(tài)的
3、junit使用規(guī)范
1、一個類如果需要測試,那么該類就應(yīng)該對應(yīng)著一個測試類,測試類的命名規(guī)范:被測試類的類名+Test
2、一個被測試的方法一般對應(yīng)一個測試的方法,測試的方法的命名規(guī)范是:test+被測試的方法的方法名
4、斷言
斷言就是不顯示結(jié)果,按照程序運(yùn)行的預(yù)期值和實(shí)際值進(jìn)行比對,顯示運(yùn)行的狀態(tài)。
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 {
//準(zhǔn)備測試的環(huán)境
//@Before
@BeforeClass
public static void beforeRead(){
System.out.println("準(zhǔn)備測試環(huán)境成功...");
}
//讀取文件數(shù)據(jù),把把文件數(shù)據(jù)都
@Test
public void readFile() throws IOException{
FileInputStream fileInputStream = new FileInputStream("F:\\a.txt");
int content = fileInputStream.read();
System.out.println("內(nèi)容:"+content);
}
@Test
public void sort(){
System.out.println("讀取文件數(shù)據(jù)排序..");
}
//清理測試環(huán)境的方法
// @After
@AfterClass
public static void afterRead(){
System.out.println("清理測試環(huán)境..");