国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|JavaScript|易語言|

服務器之家 - 編程語言 - Java教程 - Junit 5中@ParameterizedTest與@EnumSource結合使用

Junit 5中@ParameterizedTest與@EnumSource結合使用

2021-06-19 10:52Sam哥哥 Java教程

今天小編就為大家分享一篇關于Junit 5中@ParameterizedTest與@EnumSource結合使用,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧

概述

有時候業務代碼里會根據一個枚舉值來區分業務場景,比如說:

?
1
2
3
4
public enum activitylimitenum {
  limit(1,"封頂"),
  unlimit(0,"上不封頂");
}

如果編寫單元測試來驗證業務代碼,至少需要寫兩個測試方法,一個驗收封頂邏輯,一個驗收不封頂邏輯。

?
1
2
3
4
5
6
7
8
@test
  @displayname("封頂")
  void testlimit() {
  }
  @test
  @displayname("不封頂")
  void testunlimit() {
  }

由于這兩個場景只是區分封頂和不封頂,其他的都是一樣的,如果寫兩個測試方法,testlimittestunlimit方法里會有很多重復代碼。這個時候junit 5 @parameterizedtest@enumsource就可以派上用場了。

?
1
2
3
4
5
6
7
8
9
10
11
@parameterizedtest
@enumsource(activitylimitenum.class)
@displayname("封頂和不封頂")
void test(activitylimitenum activitylimitenum) {
  if (activitylimitenum.limit.equals(activitylimitenum)) {
    assertfalse(false);
  }
  else if (activitylimitenum.unlimit.equals(activitylimitenum)) {
    asserttrue(true);
  }
}

junit 5在執行上面的test方法的時候,由于activitylimitenum中有limitunlimit兩個枚舉,先按照limit類型執行一次test方法,再按照unlimit類型再次執行test方法,共執行兩次test方法,因此我們需要在test方法里,區分一下類型,按照實際情況編寫assert代碼進行驗證即可。

我們用intellij idea執行上面的單元測試,效果如下:

Junit 5中@ParameterizedTest與@EnumSource結合使用

可以看到test方法確實執行了兩次,limitunlimit各執行一次。

如果枚舉中的枚舉值非常多,而單元測試里只是想驗證其中部分枚舉值,那可以用下面的方式:

?
1
2
3
4
5
6
7
8
9
10
11
@parameterizedtest
@enumsource(value = activitylimitenum.class,names = {"limit"})
@displayname("封頂和不封頂")
void test(activitylimitenum activitylimitenum) {
  if (activitylimitenum.limit.equals(activitylimitenum)) {
    assertfalse(false);
  }
  else if (activitylimitenum.unlimit.equals(activitylimitenum)) {
    asserttrue(true);
  }
}

這樣就只會執行limit枚舉值對應的場景。

如果要在junit 5里使用@parameterizedtest@enumsource,需要添加如下依賴:

?
1
2
3
4
5
6
<dependency>
  <groupid>org.junit.jupiter</groupid>
  <artifactid>junit-jupiter-params</artifactid>
  <version>5.2.0</version>
  <scope>test</scope>
</dependency>

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對服務器之家的支持。如果你想了解更多相關內容請查看下面相關鏈接

原文鏈接:https://blog.csdn.net/linsongbin1/article/details/82784224

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 成人日韩 | av毛片在线 | 欧日韩毛片 | 国产一区二区在线播放 | 一级性视频| 国产在线一区二区三区 | 九色国产 | 久久久国产精品一区 | 伊人网站| 精品一区二区免费视频 | 国产精品18久久久 | 国产在线一区二区 | 一级毛片黄 | 久久思久久 | 免费又黄又爽又色的视频 | 在线视频a| 中文在线视频 | 精品国产欧美一区二区 | 日韩在线不卡 | 黄视频免费观看 | 成人网在线看 | 亚洲a在线观看 | 国产亚洲一区二区三区 | 国产精品久久国产精品 | 国产日产欧产美韩av | 日韩欧美国产精品综合嫩v 在线视频 中文字幕 | 日韩成人在线视频 | 欧美成人免费 | 国产精品久久久久久久一区探花 | 97久久精品午夜一区二区 | 中文字幕一区二区三区四区不卡 | 亚洲欧美激情精品一区二区 | 欧美精品在线一区二区 | av在线一区二区三区 | 一区二区三区精品视频 | 午夜影院在线 | 国产精品久久久久久一区 | 日本一区二区高清视频 | 国产精品爱久久久久久久 | 精品久久久久久久久久久久久久 | 欧美综合婷婷 |