public class CalculateTest {
/*
* 1.測試方法上必須使用@Test進行修飾
* 2.測試方法必須使用public void 進行修飾炬守,不能帶任何的參數(shù)
* 3.新建一個源代碼目錄來存放我們的測試代碼
* 4.測試類的包應(yīng)該和被測試類保持一致
* 5.測試單元中的每個方法必須可以獨立測試能庆,測試方法間不能有任何的依賴
* 6.測試類使用Test作為類名的后綴(不是必須)
* 7.測試方法使用test作為方法名的前綴(不是必須)
*/
@Test
public void testAdd() {
assertEquals(6, new Calculate().add(3,3));
}
@Test
public void testSubtract() {
assertEquals(3, new Calculate().subtract(5,2));
}
@Test
public void testMultiply() {
assertEquals(4, new Calculate().multiply(2, 2));
}
@Test
public void testDivide() {
assertEquals(3, new Calculate().divide(6, 2));
}
}
====================================
public class JunitFlowTest {
/*
* 1.@BeforeClass修飾的方法會在所有方法被調(diào)用前被執(zhí)行兽狭,
* 而且該方法是靜態(tài)的,所以當測試類被加載后接著就會運行它头岔,
* 而且在內(nèi)存中它只會存在一份實例,它比較適合加載配置文件烁涌。
* 2.@AfterClass所修飾的方法通常用來對資源的清理手形,如關(guān)閉數(shù)據(jù)庫的連接
* 3.@Before和@After會在每個測試方法的前后各執(zhí)行一次。
*
*/
@BeforeClass
public static void setUpBeforeClass() throws Exception {
System.out.println("this is beforeClass...");
}
@AfterClass
public static void tearDownAfterClass() throws Exception {
System.out.println("this is afterClass...");
}
@Before
public void setUp() throws Exception {
System.out.println("this is before...");
}
@After
public void tearDown() throws Exception {
System.out.println("this is after");
}
@Test
public void test1() {
System.out.println("this is test1...");
}
@Test
public void test2(){
System.out.println("this is test2...");
}
====================================
public class ErrorAndFailureTest {
/*
* 1.Failure一般由單元測試使用的斷言方法判斷失敗所引起的稠集,這經(jīng)表示 測試點發(fā)現(xiàn)了問題
* 奶段,就是說程序輸出的結(jié)果和我們預(yù)期的不一樣。
* 2.error是由代碼異常引起的剥纷,它可以產(chǎn)生于測試代碼本身的錯誤痹籍,也可以是被測試代碼中的
* 一個隱藏的bug
* 3.測試用例不是用來證明你是對的,而是用來證明你沒有錯晦鞋。
*/
@Test
public void testAdd() {
assertEquals(5, new Calculate().add(3,3));
}
@Test
public void testDivide() {
assertEquals(3, new Calculate().divide(6, 0));
}
}
===============================================
public class AnotationTest {
/*
* @Test:將一個普通的方法修飾成為一個測試方法
* @Test(expected=XX.class)
* @Test(timeout=毫秒 )
* @BeforeClass:它會在所有的方法運行前被執(zhí)行蹲缠,static修飾
* @AfterClass:它會在所有的方法運行結(jié)束后被執(zhí)行,static修飾
* @Before:會在每一個測試方法被運行前執(zhí)行一次
* @After:會在每一個測試方法運行后被執(zhí)行一次
* @Ignore:所修飾的測試方法會被測試運行器忽略
* @RunWith:可以更改測試運行器 org.junit.runner.Runner
*/
@Test(expected=ArithmeticException.class)
public void testDivide() {
assertEquals(3, new Calculate().divide(6, 0));
}
@Ignore("...")
@Test(timeout=2000)
public void testWhile() {
while(true) {
System.out.println("run forever...");
}
}
@Test(timeout=3000)
public void testReadFile(){
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
========================================
@RunWith(Suite.class)
@Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class})
public class SuiteTest {
/*
* 1.測試套件就是組織測試類一起運行的
*
* 寫一個作為測試套件的入口類悠垛,這個類里不包含其他的方法
* 更改測試運行器Suite.class
* 將要測試的類作為數(shù)組傳入到Suite.SuiteClasses({})
*/
}
=====================================
@RunWith(Parameterized.class)
public class ParameterTest {
/*
* 1.更改默認的測試運行器為RunWith(Parameterized.class)
* 2.聲明變量來存放預(yù)期值 和結(jié)果值
* 3.聲明一個返回值 為Collection的公共靜態(tài)方法线定,并使用@Parameters進行修飾
* 4.為測試類聲明一個帶有參數(shù)的公共構(gòu)造函數(shù),并在其中為之聲明變量賦值
*/
int expected =0;
int input1 = 0;
int input2 = 0;
@Parameters
public static Collection<Object[]> t() {
return Arrays.asList(new Object[][]{
{3,1,2},
{4,2,2}
}) ;
}
public ParameterTest(int expected,int input1,int input2) {
this.expected = expected;
this.input1 = input1;
this.input2 = input2;
}
@Test
public void testAdd() {
assertEquals(expected, new Calculate().add(input1, input2));
}
}
Junit4測試
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
- 文/潘曉璐 我一進店門胡嘿,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蛉艾,“玉大人,你說我怎么就攤上這事∥鸷睿” “怎么了拓瞪?”我有些...
- 文/不壞的土叔 我叫張陵,是天一觀的道長助琐。 經(jīng)常有香客問我祭埂,道長,這世上最難降的妖魔是什么兵钮? 我笑而不...
- 正文 為了忘掉前任蛆橡,我火速辦了婚禮,結(jié)果婚禮上掘譬,老公的妹妹穿的比我還像新娘泰演。我一直安慰自己,他們只是感情好葱轩,可當我...
- 文/花漫 我一把揭開白布睦焕。 她就那樣靜靜地躺著,像睡著了一般靴拱。 火紅的嫁衣襯著肌膚如雪垃喊。 梳的紋絲不亂的頭發(fā)上,一...
- 文/蒼蘭香墨 我猛地睜開眼眷茁,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了纵诞?” 一聲冷哼從身側(cè)響起上祈,我...
- 正文 年R本政府宣布,位于F島的核電站简珠,受9級特大地震影響阶界,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜聋庵,卻給世界環(huán)境...
- 文/蒙蒙 一膘融、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧祭玉,春花似錦氧映、人聲如沸。這莊子的主人今日做“春日...
- 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蹭劈,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間线召,已是汗流浹背铺韧。 一陣腳步聲響...
推薦閱讀更多精彩內(nèi)容
- 1伏蚊、 @BeforeClass修飾的方法會在 類中的方法被調(diào)用前執(zhí)行立轧,而且該方法是靜態(tài)的,所以測試類被加載后接著就...
- 1躏吊、測試方法上必須使用@Test 注解 2氛改、測試方法必須是 public void 進行修飾,并且不帶參數(shù) 3比伏、通...
- JUnit4 實際上不支持測試多線程程序胜卤。 The article at http://www.planetgee...