-
jUnit4測(cè)試套件查看全部
-
junit 的兩種錯(cuò)誤查看全部
-
出問(wèn)題了...查看全部
-
junit測(cè)試套件。。查看全部
-
單元測(cè)試須知查看全部
-
spring與hibernate的整合測(cè)試 1. 添加spring,hibernate,MySQL等jar包 2. 添加spring配置文件,hibernate配置文件 3. @BeforeClass獲得spring的配置文件ClassPathXmlApplicationContext("配置文件") 4. 測(cè)試通過(guò)getBean獲得spring管理的bean是否成功(Hibernate、Spring+Hibernate同理測(cè)試可得) --------------------------查看全部
-
課程總結(jié) (1)@Test (2)@Test(Timeout=毫秒),@Test(expected=異常類(lèi)) (3)@Ignore (4)@RunWith (5)@BeforeClass @AfterClass @Before @After (6)測(cè)試套件@RunWith(Suite.class) (7)參數(shù)化設(shè)置@RunWith(Parameterized.class) (8)Spring與Hibernate的整合查看全部
-
1、xUnit xUnit 是一套基于測(cè)試驅(qū)動(dòng)開(kāi)發(fā)的測(cè)試框架。包含 JUnit、cppJUnit 2、JUnit 的最佳實(shí)踐 1)測(cè)試方法上必須使用 @Test 進(jìn)行修飾 2)測(cè)試方法必須使用 public void 進(jìn)行修飾,不能帶任何參數(shù) 3)新建一個(gè)源代碼目錄來(lái)存放我們的測(cè)試代碼 4)測(cè)試類(lèi)的包應(yīng)該和被測(cè)試類(lèi)保持一致 5)測(cè)試的單元中的每個(gè)方法必須可以獨(dú)立測(cè)試,測(cè)試方法間不能有任何的依賴(lài) 6)測(cè)試類(lèi)使用 Test 作為類(lèi)名的后綴(不是必須) 7)測(cè)試方法使用 test 作為方法名的前綴(不是必須)查看全部
-
4.2 JUnit參數(shù)化設(shè)置 1.更改默認(rèn)的測(cè)試運(yùn)行器為RunWith(Parameterized.class) 2.聲明變量存放預(yù)期值和結(jié)果值 3.聲明一個(gè)返回值為Collection的公共靜態(tài)方法,并使用@Parameters進(jìn)行修飾 4.為測(cè)試類(lèi)聲明一個(gè)帶有參數(shù)的公共構(gòu)造函數(shù),并在其中為之聲明變量賦值(預(yù)期值、輸入?yún)?shù)值等) 實(shí)例: @RunWith(Parameterized.class)//參數(shù)化過(guò)濾器 public class ParameterTest { int expected=0; int input1=0; int input2=0; @Parameters //聲明一個(gè)返回值為Collection的公共靜態(tài)方法 public static Collection<Object[]> t(){ return Arrays.asList( new Object[][]{ {3,1,2}, {4,2,2} }); } //聲明一個(gè)含參構(gòu)造器 public ParameterTest(int expected, int input1, int input2) { super(); this.expected = expected; this.input1 = input1; this.input2 = input2; } @Test public void testAdd(){ assertEquals(expected, new Calculate().add(input1, input2)); } }查看全部
-
JUnit測(cè)試套件的使用 測(cè)試套件就是組織測(cè)試類(lèi)一起運(yùn)行的 1.寫(xiě)一個(gè)作為測(cè)試套件的入口類(lèi),這個(gè)類(lèi)里不包含其他的方法?。?! 2.更改測(cè)試運(yùn)行器Suite.class. 3.將要測(cè)試的類(lèi)作為數(shù)組傳入到Suite.SuiteClasses({}) @RunWith(Suite.class) //將測(cè)試類(lèi)改為測(cè)試套件類(lèi) @Suite.SuiteClasses({TaskTest1.class,TaskTest2.class,TaskTest3.class}) //用數(shù)組的形式將測(cè)試的類(lèi)添加到測(cè)試套件中 public classSuiteTest{ //要用public修飾,套件測(cè)試類(lèi)要為空。不能有方法。 }查看全部
-
JUnit常用注解 @Ignore: 所修飾的測(cè)試方法會(huì)被測(cè)試運(yùn)行器忽略 @RunWith: 可以更改測(cè)試運(yùn)行器(繼承org.junit.runner.Runner) @Test: 將一個(gè)普通的方法修飾成為一個(gè)測(cè)試方法 Test有兩個(gè)參數(shù): expected 表示預(yù)期可能產(chǎn)生的異常,如果匹配則不報(bào)錯(cuò) timeout 表示超時(shí)時(shí)間,如果超過(guò)這個(gè)時(shí)間沒(méi)有完成,則拋出TestTimedOutException 例如: @Test(expected=ArithmeticException.class,timeout=2000)//第一個(gè)參數(shù)是異常類(lèi)的類(lèi)類(lèi)型,第二個(gè)參數(shù)是毫秒數(shù) @BeforClass: 他會(huì)在所有的方法運(yùn)行前被執(zhí)行,static修飾 @AfterClass: 他會(huì)在所有的方法運(yùn)行結(jié)束后被執(zhí)行,sattic修飾 @Befor: 會(huì)在每一個(gè)測(cè)試方法被運(yùn)行前執(zhí)行一次 @After: 會(huì)在每一個(gè)測(cè)試方法運(yùn)行后被執(zhí)行一次查看全部
-
JUnit運(yùn)行流程 1. @BeforeClass修飾的方法會(huì)在所有方法被調(diào)用前執(zhí)行,而且該方法是靜態(tài)的,所以當(dāng)測(cè)試類(lèi)被加載后接著就會(huì)運(yùn)行它,而且在內(nèi)存中它只會(huì)存在一份實(shí)例,它比較適合加載配置文件 2. @AfterClass所修飾的方法通常用來(lái)對(duì)資源的清理,如關(guān)閉數(shù)據(jù)庫(kù)的連接 3. @Before和@After會(huì)在每個(gè)測(cè)試方法的前后各執(zhí)行一次 運(yùn)行順序: @BeforeClass-> (@Before->@Test->@After) ...->@AfterClass assertEquals:用于判斷實(shí)際值和期望值是否相同,assertEquals(預(yù)期值,實(shí)際值); assertSame:判斷實(shí)際值和期望值是否為同一個(gè)對(duì)象 assertArrayEquals(expecteds, actuals) 查看兩個(gè)數(shù)組是否相等。 assertEquals(expected, actual) 查看兩個(gè)對(duì)象是否相等。類(lèi)似于字符串比較使用的equals()方法 assertNotEquals(first, second) 查看兩個(gè)對(duì)象是否不相等。 assertNull(object) 查看對(duì)象是否為空。 assertNotNull(object) 查看對(duì)象是否不為空。 assertSame(expected, actual) 查看兩個(gè)對(duì)象的引用是否相等。類(lèi)似于使用“==”比較兩個(gè)對(duì)象 assertNotSame(unexpected, actual) 查看兩個(gè)對(duì)象的引用是否不相等。類(lèi)似于使用“!=”比較兩個(gè)對(duì)象 assertTrue(condition) 查看運(yùn)行結(jié)果是否為true。 assertFalse(condition) 查看運(yùn)行結(jié)果是否為false。 assertThat(actual, matcher) 查看實(shí)際值是否滿(mǎn)足指定的條件 fail() 讓測(cè)試失敗查看全部
-
package com.imooc.util; import static org.junit.Assert.*; import org.junit.After; import org.junit.AfterClass; import org.junit.Before; import org.junit.BeforeClass; import org.junit.Test; public class JunitFlowTest { @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 test() { fail("Not yet implemented"); } @Test public void test1(){ System.out.println("this is test1……"); } }查看全部
-
測(cè)試用例不是用來(lái)證明你(的邏輯)是對(duì)的,而是用來(lái)證明你(的斷言)沒(méi)有錯(cuò)。 1.Failure是斷言方法中的“預(yù)期值”和“結(jié)果值”不一致 2.Error是代碼本身報(bào)錯(cuò) 3.測(cè)試用例不是用來(lái)證明你是對(duì)的,而是用來(lái)證明你沒(méi)有錯(cuò) “測(cè)試用例用來(lái)達(dá)到想要的預(yù)期結(jié)果,但對(duì)于邏輯錯(cuò)誤無(wú)能為力”,寫(xiě)業(yè)務(wù)邏輯的時(shí)候是錯(cuò)誤的,然后寫(xiě)測(cè)試用例的時(shí)候也是錯(cuò)誤的 ------------------------------------- Failure一般由單元測(cè)試使用的斷言方法判斷失敗引起的,即測(cè)試點(diǎn)發(fā)現(xiàn)問(wèn)題。輸出結(jié)果與預(yù)期不一致 error由代碼異常引起??梢援a(chǎn)生于測(cè)試代碼本身的錯(cuò)誤,也可以是被測(cè)試代碼中隱藏的bug ------------------------------------ 1.Failure是斷言方法中的“預(yù)期值”和“結(jié)果值”不一致 2.Error是代碼本身報(bào)錯(cuò) 3.測(cè)試用例不是用來(lái)證明你是對(duì)的,而是用來(lái)證明你沒(méi)有錯(cuò)查看全部
-
/*1.測(cè)試方法上必須使用@Test進(jìn)行修飾 *2.測(cè)試方法必須使用public void 進(jìn)行修飾,不能帶任何的參數(shù) *3.新建一個(gè)源代碼目錄來(lái)存放我們的測(cè)試代碼 *4.測(cè)試類(lèi)的包應(yīng)該和被測(cè)試類(lèi)保持一致 *5.測(cè)試單元中的每個(gè)方法必須可以獨(dú)立測(cè)試,測(cè)試方法間不能有任何的依賴(lài) *6.測(cè)試類(lèi)使用Test作為類(lèi)名的后綴(非必須) *7.測(cè)試方法使用test作為方法名的前綴(非必須) */查看全部
舉報(bào)
0/150
提交
取消