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

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

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

服務器之家 - 編程語言 - Java教程 - JUnit5常用注解的使用

JUnit5常用注解的使用

2021-09-25 00:56自動化代碼美學 Java教程

注解是JUnit的標志性技術,本文就來對它的20個注解,以及元注解和組合注解進行學習,感興趣的可以了解一下

注解(Annotations)是JUnit的標志性技術,本文就來對它的20個注解,以及元注解和組合注解進行學習。

20個注解

在org.junit.jupiter.api包中定義了這些注解,它們分別是:

@Test 測試方法,可以直接運行。

@ParameterizedTest 參數化測試,比如:

?
1
2
3
4
5
@ParameterizedTest
@ValueSource(strings = { "racecar", "radar", "able was I ere I saw elba" })
void palindromes(String candidate) {
    assertTrue(StringUtils.isPalindrome(candidate));
}

@RepeatedTest 重復測試,比如:

?
1
2
3
4
@RepeatedTest(10)
void repeatedTest() {
    // ...
}

@TestFactory 測試工廠,專門生成測試方法,比如:

?
1
2
3
4
5
6
7
8
9
import org.junit.jupiter.api.DynamicTest;
 
@TestFactory
Collection<DynamicTest> dynamicTestsFromCollection() {
    return Arrays.asList(
        dynamicTest("1st dynamic test", () -> assertTrue(isPalindrome("madam"))),
        dynamicTest("2nd dynamic test", () -> assertEquals(4, calculator.multiply(2, 2)))
    );
}

@TestTemplate 測試模板,比如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
final List<String> fruits = Arrays.asList("apple", "banana", "lemon");
 
@TestTemplate
@ExtendWith(MyTestTemplateInvocationContextProvider.class)
void testTemplate(String fruit) {
    assertTrue(fruits.contains(fruit));
}
 
public class MyTestTemplateInvocationContextProvider
        implements TestTemplateInvocationContextProvider {
 
    @Override
    public boolean supportsTestTemplate(ExtensionContext context) {
        return true;
    }
 
    @Override
    public Stream<TestTemplateInvocationContext> provideTestTemplateInvocationContexts(
            ExtensionContext context) {
 
        return Stream.of(invocationContext("apple"), invocationContext("banana"));
    }
}

@TestTemplate必須注冊一個TestTemplateInvocationContextProvider,它的用法跟@Test類似。

@TestMethodOrder 指定測試順序,比如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import org.junit.jupiter.api.MethodOrderer.OrderAnnotation;
import org.junit.jupiter.api.Order;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.TestMethodOrder;
 
@TestMethodOrder(OrderAnnotation.class)
class OrderedTestsDemo {
 
    @Test
    @Order(1)
    void nullValues() {
        // perform assertions against null values
    }
 
    @Test
    @Order(2)
    void emptyValues() {
        // perform assertions against empty values
    }
 
    @Test
    @Order(3)
    void validValues() {
        // perform assertions against valid values
    }
 
}

@TestInstance 是否生成多個測試實例,默認JUnit每個測試方法生成一個實例,使用這個注解能讓每個類只生成一個實例,比如:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@TestInstance(Lifecycle.PER_CLASS)
class TestMethodDemo {
 
    @Test
    void test1() {
    }
 
    @Test
    void test2() {
    }
 
    @Test
    void test3() {
    }
 
}

@DisplayName 自定義測試名字,會體現在測試報告中,比如:

?
    • 1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      15
      16
      17
      18
      19
      20
      21
      22
      import org.junit.jupiter.api.DisplayName;
      import org.junit.jupiter.api.Test;
       
      @DisplayName("A special test case")
      class DisplayNameDemo {
       
          @Test
          @DisplayName("Custom test name containing spaces")
          void testWithDisplayNameContainingSpaces() {
          }
       
          @Test
          @DisplayName("╯°□°)╯")
          void testWithDisplayNameContainingSpecialCharacters() {
          }
       
          @Test
          @DisplayName("

      延伸 · 閱讀

      精彩推薦
      • Java教程升級IDEA后Lombok不能使用的解決方法

        升級IDEA后Lombok不能使用的解決方法

        最近看到提示IDEA提示升級,尋思已經有好久沒有升過級了。升級完畢重啟之后,突然發現好多錯誤,本文就來介紹一下如何解決,感興趣的可以了解一下...

        程序猿DD9332021-10-08
      • Java教程Java8中Stream使用的一個注意事項

        Java8中Stream使用的一個注意事項

        最近在工作中發現了對于集合操作轉換的神器,java8新特性 stream,但在使用中遇到了一個非常重要的注意點,所以這篇文章主要給大家介紹了關于Java8中S...

        阿杜7472021-02-04
      • Java教程小米推送Java代碼

        小米推送Java代碼

        今天小編就為大家分享一篇關于小米推送Java代碼,小編覺得內容挺不錯的,現在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧...

        富貴穩中求8032021-07-12
      • Java教程Java使用SAX解析xml的示例

        Java使用SAX解析xml的示例

        這篇文章主要介紹了Java使用SAX解析xml的示例,幫助大家更好的理解和學習使用Java,感興趣的朋友可以了解下...

        大行者10067412021-08-30
      • Java教程Java BufferWriter寫文件寫不進去或缺失數據的解決

        Java BufferWriter寫文件寫不進去或缺失數據的解決

        這篇文章主要介紹了Java BufferWriter寫文件寫不進去或缺失數據的解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望...

        spcoder14552021-10-18
      • Java教程xml與Java對象的轉換詳解

        xml與Java對象的轉換詳解

        這篇文章主要介紹了xml與Java對象的轉換詳解的相關資料,需要的朋友可以參考下...

        Java教程網2942020-09-17
      • Java教程20個非常實用的Java程序代碼片段

        20個非常實用的Java程序代碼片段

        這篇文章主要為大家分享了20個非常實用的Java程序片段,對java開發項目有所幫助,感興趣的小伙伴們可以參考一下 ...

        lijiao5352020-04-06
      • Java教程Java實現搶紅包功能

        Java實現搶紅包功能

        這篇文章主要為大家詳細介紹了Java實現搶紅包功能,采用多線程模擬多人同時搶紅包,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙...

        littleschemer13532021-05-16
      主站蜘蛛池模板: 精品免费一区 | 免费国产黄色大片 | 午夜精品在线 | 99这里只有精品 | 久久九精品| 夜夜艹| 亚洲伦理影院 | 黑人精品欧美一区二区蜜桃 | 国产精品视屏 | 欧美精品成人 | 成人av福利| 国产中文字幕在线免费观看 | 亚洲精品免费播放 | 久久国产精品久久久久久电车 | 欧美专区在线观看 | 亚洲 欧美 国产 制服 动漫 | 亚洲视频在线观看网址 | 精品国产乱码一区二区三区 | 欧美日韩在线综合 | 日韩国产一区 | 国内精品久久久久久中文字幕 | 91精品在线播放 | 中文在线观看www | 精品国产鲁一鲁一区二区在线观看 | 一区二区三区欧美在线 | 欧美黑人狂躁日本寡妇 | 午夜视频在线观看一区二区三区 | 手机亚洲第一页 | 99色综合| k8久久久一区二区三区 | 国产免费一区二区三区 | 日本在线一区二区 | 久久久999精品视频 亚洲国产网站 | 一区二区三区无码高清视频 | 亚洲电影在线观看 | 国产日韩欧美一区 | 中文字幕视频一区 | 日韩成人在线免费视频 | 国产精品一区二区不卡 | 福利一区二区 | 精品国产一区二区三区性色av |
      <strike id="kkgi4"><code id="kkgi4"></code></strike>