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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
使用JUnit進行單元測試
作者:網絡轉載 發布時間:[ 2017/3/14 16:24:04 ] 推薦標簽:Junit 單元測試

  上一彈中介紹了單元測試以及單元測試框架,這一彈主要來介紹一下JUnit這個目前比較流行的單測框架。
  JUnit是由 Erich Gamma 和 Kent Beck 編寫的一個回歸測試框架(regression testing framework)。Junit測試是程序員測試,即所謂白盒測試,因為程序員知道被測試的軟件如何(How)完成功能和完成什么樣(What)的功能。
  現在很多IDE中都已經集成了JUnit,當我們在創建 maven 項目的時候,一般在 pom 文件中也會自動增加junit的依賴。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<scope>test</scope>
<version>4.4</version>
</dependency>
  注意上面的maven的依賴中的 scope ,因為junit只在測試代碼中會被用到,這里 scope 指定未 test 即可。我們直接使用和介紹JUnit4。
  上手JUnit
  要測試,要先有被測代碼(當然,基于測試編程可以先有測試代碼)。先來看我們想要測試的代碼:
public class CaculateService {
public float divide(float divisor, float dividend) {
return divisor / dividend;
}
}
  我們想要測試這個類,那么如何使用Junit進行測試呢?先來寫一個測試類。如果你使用的是 IntelliJ + Mac ,那么可以在類名上使用快捷鍵 option + enter 直接生成測試類,這樣IDE會幫忙生成一個對應的測試類。(其他操作系統和IDE也有同樣的功能)

  生成后的測試代碼和被測代碼所處路徑如下:

  可以看到,一般的maven項目中,會在 src/main 下面有兩個目錄, java 和 test , java 目錄中放的是源碼, test 目錄中放的是測試代碼。測試代碼和測試代碼的包名保持一致即可。
  測試代碼如下:
public class CaculateServiceTest {
CaculateService caculateService = new CaculateService();
@Test
public void testDivide() throws Exception {
Assert.assertEquals(caculateService.divide(2, 1), 2.0);
}
}
  然后執行該方法可以了,先不管 Assert.assertEquals 的用法及結果,這里總結下使用JUnit寫測試代碼的簡單步驟:
  創建一個名為 CaculateServiceTest.java 的測試類。
  向測試類中添加名為 testDivide() 的方法。
  向方法中添加 Annotaion @Test 。
  執行測試條件并且應用 Junit 的 assertEquals API 來檢查。
  JUnit中的Assert
  public class Assert extends java.lang.Object
  這個類提供了一系列的編寫測試的有用的聲明方法。只有失敗的聲明方法才會被記錄。
  · void assertEquals(boolean expected, boolean actual)
  檢查兩個變量或者等式是否平衡
  · void assertFalse(boolean condition)
  檢查條件是假的
  · void assertNotNull(Object object)
  檢查對象不是空的
  · void assertNull(Object object)
  檢查對象是空的
  · void assertTrue(boolean condition)
  檢查條件為真
  · void fail()
  在沒有報告的情況下使測試不通過
  這些方法我不一一介紹了,相信我的讀者們都能看懂并在平時開發中用的到,還是比較容易理解的。
  Assert可以用來判斷方法的真是結果和預期結果是否一樣。是我們在寫單元測試中用到多的一個api。
  JUnit中的注解
  @BeforeClass :針對所有測試,只執行一次,且必須為static void
  @Before :初始化方法
  @Test :測試方法,在這里可以測試期望異常和超時時間
  @After :釋放資源
  @AfterClass :針對所有測試,只執行一次,且必須為static void
  @Ignore :忽略的測試方法
  一個單元測試類執行順序為:
  @BeforeClass –> @Before –> @Test –> @After –> @AfterClass
  每一個測試方法的調用順序為:
  @Before –> @Test –> @After
  時間測試
  如果一個測試用例比起指定的毫秒數花費了更多的時間,那么 Junit 將自動將它標記為失敗。timeout 參數和 @Test 注釋一起使用。現在讓我們看看活動中的 @test(timeout)。
  @Test(timeout = 1000)
  public void testTimeoutSuccess() {
  // do nothing
  }

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 久久女同互慰一区二区三区 | 成年人免费在线视频观看 | 欧美日日夜夜 | 日韩福利视频高清免费看 | 高清波多野结衣一区二区三区 | 成年网站免费视频黄 | 精品一区二区三区在线播放 | 亚洲国产精品综合欧美 | 亚洲日本va午夜中文字幕 | jizzjizz丝袜老师 | 77788色淫网站免费视频 | 99精品全国免费7观看视频 | 一区免费视频 | 一区二区在线视频观看 | 999任你躁在线精品免费不卡 | 欧美成年网站 | 天天做人人爱夜夜爽2020 | 国产精品视频永久免费播放 | 在线免费观看中文字幕 | 色播影视 | 亚洲二三区 | 亚洲欧美日韩综合网导航 | 可以免费看黄的网址 | 狠狠色噜噜狠狠狠狠97 | 美女黄色片网站 | 欧美成人精品一区二区 | 午夜三级成人三级 | 顶级毛片在线手机免费看 | 午夜0606 | 中国黄色毛片视频 | 在线免费观看www视频 | 欧美在线一区二区三区欧美 | 日日干狠狠干 | 欧美超高清在线观看 | 男女性潮高片无遮挡禁18 | 精品亚洲成a人片在线观看 精品亚洲成a人在线播放 | 日韩在线视频不卡 | 日韩免费高清一级毛片在线 | 最近免费中文字幕大全免费 | 你懂的国产高清在线播放视频 | 97夜夜澡人人爽人人喊中国片 |