亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測(cè)試 > 開(kāi)源軟件測(cè)試 > 開(kāi)源單元測(cè)試工具 > junit
JUnit4.12 入門(mén)實(shí)例
作者:Devin 發(fā)布時(shí)間:[ 2016/10/12 14:37:42 ] 推薦標(biāo)簽:單元測(cè)試 Junit

  項(xiàng)目工程基于Idea IDE創(chuàng)建,其對(duì)JUnit對(duì)支持非常不錯(cuò),寫(xiě)單元測(cè)試類也非常方便,直接使用快捷鍵Ctrl+Shift+T即可自動(dòng)生成相應(yīng)的單元測(cè)試類模板,使用快捷鍵Alt+Insert可直接添加新增的單元測(cè)試方法;另外本項(xiàng)目使用Gradle進(jìn)行依賴管理。
  為什么做單元測(cè)試:
  1.幫助理解需求
  單元測(cè)試應(yīng)該反映Use Case,把被測(cè)單元當(dāng)成黑盒測(cè)試其外部行為。
  2.提高實(shí)現(xiàn)質(zhì)量
  單元測(cè)試不保證程序做正確的事,但能幫助保證程序正確地做事,從而提高實(shí)現(xiàn)質(zhì)量。
  3.測(cè)試成本低
  相比集成測(cè)試、驗(yàn)收測(cè)試,單元測(cè)試所依賴的外部環(huán)境少,自動(dòng)化程度高,時(shí)間短,節(jié)約了測(cè)試成本。
  4.反饋速度快
  單元測(cè)試提供快速反饋,把bug消滅在開(kāi)發(fā)階段,減少問(wèn)題流到集成測(cè)試、驗(yàn)收測(cè)試和用戶,降低了軟件質(zhì)量控制的成本。
  5.利于重構(gòu)
  由于有單元測(cè)試作為回歸測(cè)試用例,有助于預(yù)防在重構(gòu)過(guò)程中引入bug。
  6.文檔作用
  單元測(cè)試提供了被測(cè)單元的使用場(chǎng)景,起到了使用文檔的作用。
  7.對(duì)設(shè)計(jì)的反饋
  一個(gè)模塊很難進(jìn)行單元測(cè)試通常是不良設(shè)計(jì)的信號(hào),單元測(cè)試可以反過(guò)來(lái)指導(dǎo)設(shè)計(jì)出高內(nèi)聚、低耦合的模塊。
  JUnit簡(jiǎn)介
  JUnit 是一個(gè) Java 編程語(yǔ)言的單元測(cè)試框架。JUnit 在測(cè)試驅(qū)動(dòng)的開(kāi)發(fā)方面有很重要的發(fā)展,是起源于 JUnit 的一個(gè)統(tǒng)稱為 xUnit 的單元測(cè)試框架之一。
  單元測(cè)試規(guī)范
  1.單元測(cè)試類后面加Test;
  2.測(cè)試方法使用@Test標(biāo)注;
  3.測(cè)試方法名之前加test;
  4.所有測(cè)試方法返回類型必須為void且無(wú)參數(shù);
  5.每個(gè)測(cè)試方法之間相互獨(dú)立;
  JUnit4常用注解
  @Test:把一個(gè)方法標(biāo)記為測(cè)試方法
  它有兩個(gè)常用屬性:
  1.excepted屬性是用來(lái)測(cè)試異常;
  2.timeout用來(lái)測(cè)試性能的,是測(cè)試一個(gè)方法能不能在規(guī)定時(shí)間內(nèi)完成;
  也可使用@Rule規(guī)則來(lái)規(guī)定測(cè)試類中的所有方法的超時(shí)時(shí)間,如果類中的任意一個(gè)方法執(zhí)行時(shí)間超過(guò)了在Timeout規(guī)則中規(guī)定的值,測(cè)試方法將拋出異常,測(cè)試結(jié)果為失�。ǔ瑫r(shí)參數(shù)是以毫秒記)。如:
@Rule
public Timeout timeout = new Timeout(1000);
@Before:每一個(gè)測(cè)試方法執(zhí)行前自動(dòng)調(diào)用一次;
@After:每一個(gè)測(cè)試方法執(zhí)行完自動(dòng)調(diào)用一次;
@BeforeClass:所有測(cè)試方法執(zhí)行前執(zhí)行一次,在測(cè)試類還沒(méi)有實(shí)例化已經(jīng)被加載,所以用static修飾;
@AfterClass:所有測(cè)試方法執(zhí)行完執(zhí)行一次,在測(cè)試類還沒(méi)有實(shí)例化已經(jīng)被加載,所以用static修飾;
@Ignore:禁止執(zhí)行junit測(cè)試類的某些或者全部測(cè)試方法,應(yīng)用在方法或類上;
public class AnnotationTest {
int i;
public AnnotationTest(){
System.out.println("構(gòu)造方法");
}
@BeforeClass
public static void setUpBeforClass(){
System.out.println("BeforClass");
}
@AfterClass
public static void tearDownAfterClass(){
System.out.println("AfterClass");
}
@Before
public void setUp(){
System.out.println("Before");
}
@After
public void tearDown(){
System.out.println("After");
}
@Test
public void test1(){
System.out.println("Test1");
System.out.println("i="+i++);
}
@Test
public void test2(){
System.out.println("Test2");
System.out.println("i="+i++);
}
@Ignore
public void test3(){
System.out.println("Test3");
}
}
  輸出結(jié)果:
  BeforClass
  構(gòu)造方法
  Before
  Test2
  i=0
  After
  AfterClass

上一頁(yè)12下一頁(yè)
軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 亚洲成年网站 | 亚洲人成网站在线观看播放动漫 | 国产黄色大片又色又爽 | 免费高清伧理片午夜伧理片 | 老司机精品久久 | 夜夜躁日日躁狠狠久久 | 在线 | 一区二区三区四区 | 免费看的黄色大片 | 欧美日本免费一区二区三区 | 日韩在线a视频免费播放 | 在线色av| 国产日韩欧美在线观看 | 亚洲操 | 亚洲国产成人久久一区www | 久久综合久久综合久久 | 欧美日韩一级二级三级 | 国产日韩中文字幕 | 欧美成人午夜在线全部免费 | 成人亚洲网 | 日本国产在线视频 | 天天躁夜夜躁 | 成人性生活免费视频 | 一级做a爱过程免费观看 | 久久久国产精品va麻豆 | 91蝌蚪国产 | 视频一区二区欧美日韩在线 | 日韩免费视频播放 | 国内外成人在线视频 | 日韩a一级欧美一级在线播放 | 一级黄色片在线观看 | 日韩aa| 欧美极度另类极品 | 一级特黄性色生活片一区二区 | 涩涩爱网站 | 国产一国产一级毛片视频在线 | 一级理伦 | 国产成人精品亚洲77美色 | 丁香六月综合网 | 日本一区二区成人教育 | 一级做a爱过程免费视频高清 | 亚洲国产精品久久久天堂 |