国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

【測(cè)試學(xué)習(xí)】Junit5的簡單使用

這篇具有很好參考價(jià)值的文章主要介紹了【測(cè)試學(xué)習(xí)】Junit5的簡單使用。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

目錄

??需要知道:

??Junit學(xué)習(xí)

??1、常用的注解

??2、測(cè)試用例的執(zhí)行順序

??3、參數(shù)化

??4、斷言

??5、測(cè)試套件


??需要知道:

問題1:Selenium與Junit之間的關(guān)系?

????????就像雷鋒和雷峰塔的關(guān)系,就是沒關(guān)系。

問題2:為什么學(xué)習(xí)了Selenium之后還要學(xué)習(xí)Junit?

????????Junit是針對(duì)java的一個(gè)單元測(cè)試框架,實(shí)際中通常是通過一個(gè)自動(dòng)化測(cè)試框架搭配對(duì)應(yīng)的一個(gè)單元測(cè)試框架來對(duì)測(cè)試用例進(jìn)行管理。如果Selenium編寫的自動(dòng)化測(cè)試用例是燈,Junit就是控制燈怎么去亮,燈亮的顏色是什么顏色,燈亮的順序是什么等。


??Junit學(xué)習(xí)

需要在Pom.xml文件中引入依賴:寫在dependencies下面:

<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-params -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-params</artifactId>
            <version>5.9.2</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.platform/junit-platform-suite -->
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-suite</artifactId>
            <version>1.9.1</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-engine -->
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>5.9.1</version>
            <scope>test</scope>
        </dependency>

??1、常用的注解

之前的代碼實(shí)現(xiàn)方式:在main函數(shù)中調(diào)用?,F(xiàn)在可不可以不需要直接調(diào)用test01(),這就可以使用注解實(shí)現(xiàn)。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

案例1:@Test的使用:

(1)不需要main方法調(diào)用;

(2)表示注解的:@Test,@BeforeAll,@AfterAll,@BeforeEach,@AfterEach

(3)@Test是一個(gè)注解,表示當(dāng)前的方法是一個(gè)測(cè)試用例;

(4)注意:返回值必須是void,是規(guī)定的;

(5)要執(zhí)行兩個(gè)測(cè)試用例,點(diǎn)class前面的那個(gè)箭頭;如果點(diǎn)的是Test01前面的箭頭,表示只執(zhí)行這一個(gè)測(cè)試用例;

(6)Test01,Test02都是自定義的名字。

public class a01_JunitTest {
    @Test
    void Test01(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.baidu.com/");
    }

    @Test
    void Test02(){
        System.out.println("這是第二個(gè)測(cè)試用例");
    }
}

指向結(jié)果:先打開百度,再打印Test02中的語句。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試


案例2:@BeforeAll與@AfterAll:執(zhí)行一次

(1)當(dāng)前類里面所有的測(cè)試用例執(zhí)行之前都會(huì)執(zhí)行這個(gè)方法@BeforeAll;

(2)當(dāng)前類里面所有的測(cè)試用例執(zhí)行結(jié)束之后都會(huì)執(zhí)行這個(gè)方法@AfterAll。

public class a02_BeforeAll {
    //1、當(dāng)前類里面所有的測(cè)試用例執(zhí)行之前都會(huì)執(zhí)行這個(gè)方法
    @BeforeAll
    static void setUp(){
        System.out.println("開始執(zhí)行@BeforeAll修飾的方法");
    }

    @Test
    void Test(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.baidu.com/");
    }

    //2、當(dāng)前類里面所有的測(cè)試用例執(zhí)行結(jié)束之后都會(huì)執(zhí)行這個(gè)方法
    @AfterAll
    static void TearDown(){
        System.out.println("開始執(zhí)行@AfterAll對(duì)應(yīng)的方法");
    }
}

執(zhí)行結(jié)果:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試


案例3:@BeforeEach與@AfterEach

當(dāng)前類里面有兩個(gè)測(cè)試用例:

(1)AfterAll和BeforeAll會(huì)執(zhí)行一次;不論有幾個(gè)測(cè)試用例,都只執(zhí)行一次;

(2)AfterEach和BeforeEach會(huì)分別執(zhí)行兩次;有幾個(gè)測(cè)試用例執(zhí)行幾次。

1、在執(zhí)行每個(gè)方法之前都會(huì)執(zhí)行一下BeforeEach方法;

2、在每個(gè)方法執(zhí)行之后都會(huì)執(zhí)行AfterEach方法。

public class a03_BeforeEach {
    //1、在執(zhí)行每個(gè)方法之前都會(huì)執(zhí)行一下BeforeEach方法
    @BeforeEach
    void BeforeEachTest(){
        System.out.println("執(zhí)行BeforeEach");
    }

    @Test
    void Test01(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.baidu.com/");
    }

    @Test
    void Test02(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.csdn.net/");
    }

    //2、在每個(gè)方法執(zhí)行之后都會(huì)執(zhí)行AfterEach方法
    @AfterEach
    void AfterEachTest(){
        System.out.println("執(zhí)行AfterEach");
    }
}

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試


案例4:@Disabled

(1)有兩個(gè)測(cè)試用例,只執(zhí)行Test02,不執(zhí)行Test01 ;

(2)在要忽略執(zhí)行的方法前面寫@Disabled。

public class a04_Disable {
    @Disabled
    @Test
    void Test01(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.baidu.com/");
    }

    @Test
    void Test02(){
        WebDriver webDriver = new ChromeDriver();
        webDriver.get("https://www.csdn.net/");
    }
}

執(zhí)行結(jié)果:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

??2、測(cè)試用例的執(zhí)行順序

情況1:執(zhí)行順序12345

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?情況2:將Testt05放在最前面,執(zhí)行順序12345

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?方式1:按照?qǐng)?zhí)行順序執(zhí)行(搭配Order使用)

(1)在類前面加上注解@TestMethodOrder(MethodOrderer.OrderAnnotation.class);

(2)指定執(zhí)行規(guī)則:在每個(gè)測(cè)試用例前面加上注解: @Order(順序)。

@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
public class a05_Test {
    @Order(1)
    @Test
    void Test05(){
        System.out.println("這是測(cè)試用例5");
    }

    @Order(5)
    @Test
    void Test01(){
        System.out.println("這是測(cè)試用例1");
    }

    @Order(4)
    @Test
    void Test02(){
        System.out.println("這是測(cè)試用例2");
    }

    @Order(3)
    @Test
    void Test03(){
        System.out.println("這是測(cè)試用例3");
    }

    @Order(2)
    @Test
    void Test04(){
        System.out.println("這是測(cè)試用例4");
    }
}

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

方式2:按照隨機(jī)方式執(zhí)行:(不常用)

在類前面加上@TestMethodOrder(MethodOrderer.Random.class)

@TestMethodOrder(MethodOrderer.Random.class)
public class a05_Test { 
    @Test
    void Test05(){
        System.out.println("這是測(cè)試用例5");
    }

    @Test
    void Test01(){
        System.out.println("這是測(cè)試用例1");
    }

    @Test
    void Test02(){
        System.out.println("這是測(cè)試用例2");
    }

    @Test
    void Test03(){
        System.out.println("這是測(cè)試用例3");
    }

    @Test
    void Test04(){
        System.out.println("這是測(cè)試用例4");
    }
}

執(zhí)行結(jié)果是隨機(jī)的:?【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

??3、參數(shù)化

錯(cuò)誤演示:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

1、單參數(shù)

(1)@ParameterizedTest進(jìn)行參數(shù)的注冊(cè);

(2)單參數(shù)的形式:在前面寫:@ValueSource:點(diǎn)進(jìn)去源碼觀察可以是各種類型傳遞。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?代碼演示:【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

2、多參數(shù)

????????可以看出單參數(shù)的特點(diǎn):如果要傳遞String,那么所有的參數(shù)都是String類型。但是如果我現(xiàn)在想要第一個(gè)參數(shù)是String,第二個(gè)參數(shù)是Int,那么就要使用多參數(shù)的形式了。

(1)csv參數(shù)傳遞

方式1:@CsvSource

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?當(dāng)數(shù)據(jù)非常多的時(shí)候,我們一般采用第二種方式:

方式2:通過新建csv文件傳遞

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?如果要傳遞的csv文件中的內(nèi)容:姓名為空的話,直接寫為‘ ’即可。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?(2)在有些情況下,有些參數(shù)可能需要某些對(duì)應(yīng)的方法來對(duì)參數(shù)進(jìn)行處理,因此就有第二種方法,通過方法將參數(shù)處理,再傳入測(cè)試用例中。簡單使用如下:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

??4、斷言

在java中判斷通過if-else來判斷,這里我們通過斷言來實(shí)現(xiàn)。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

??5、測(cè)試套件

????????要解決的問題:現(xiàn)在有a01,a02,a03...a10一共10個(gè)class文件都要執(zhí)行,正常操作是如果要執(zhí)行a10,點(diǎn)擊a10,執(zhí)行a9,點(diǎn)擊a9...以此類推。但是這樣很麻煩,因此通過測(cè)試套件,一次性將所有的代碼都執(zhí)行。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?寫法1:通過指定相應(yīng)的class來執(zhí)行

用法:【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

執(zhí)行結(jié)果:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

寫法2:通過指定包來執(zhí)行

用法:

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試

?執(zhí)行結(jié)果:先執(zhí)行包1中的a01,a02,然后執(zhí)行包2中的a01。

【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試


【測(cè)試學(xué)習(xí)】Junit5的簡單使用,測(cè)試學(xué)習(xí),學(xué)習(xí),junit,單元測(cè)試文章來源地址http://www.zghlxwxcb.cn/news/detail-592564.html

到了這里,關(guān)于【測(cè)試學(xué)習(xí)】Junit5的簡單使用的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 如何在 Java 中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試

    單元測(cè)試和自動(dòng)化測(cè)試是現(xiàn)代軟件開發(fā)過程中必不可少的環(huán)節(jié),可以提高代碼質(zhì)量和開發(fā)效率。JUnit5是Java中流行的單元測(cè)試框架,本文將介紹如何在Java中使用JUnit5進(jìn)行單元測(cè)試和自動(dòng)化測(cè)試。 單元測(cè)試是一種測(cè)試方法,用于對(duì)軟件系統(tǒng)中的最小可測(cè)試單元進(jìn)行測(cè)試。這些單

    2024年02月05日
    瀏覽(26)
  • 單元測(cè)試框架——Junit5

    單元測(cè)試框架——Junit5

    Junit是一個(gè)開源的用于Java語言的單元測(cè)試框架,也是Java方向使用最廣泛的單元測(cè)試框架。 在pom.xml中引入Junit5相關(guān)依賴 @Test :表示一個(gè)方法/用例 BeforeEach :表示被注解的方法在其它所有方法執(zhí)行前都要執(zhí)行一遍,也就是說其它方法有3個(gè)它就要執(zhí)行3遍 @BeforeAll :表示被注解的

    2024年02月11日
    瀏覽(25)
  • spring boot 單元測(cè)試JUnit5使用Mockito模擬Mock數(shù)據(jù)調(diào)用

    spring boot 單元測(cè)試JUnit5使用Mockito模擬Mock數(shù)據(jù)調(diào)用 好大一批新用法,大家靜下心來好好看看吧 1. spring boot 使用 Mockito.when().thenReturn()模擬返回值 Mockito 是一種 Java mock 框架,他主要就是用來做 mock 測(cè)試的,他可以模擬任何 Spring 管理的 bean、模擬方法的返回值、模擬拋出異常…

    2024年02月15日
    瀏覽(31)
  • JUnit5-單元測(cè)試操作詳解

    JUnit5-單元測(cè)試操作詳解

    JUnit 5是JUnit測(cè)試框架的下一個(gè)主要版本,用于編寫和運(yùn)行單元測(cè)試。 與以前版本的 JUnit 不同,JUnit 5 由來自三個(gè)不同子項(xiàng)目的多個(gè)不同模塊組成。 JUnit 5 =? JUnit 平臺(tái) +? JUnit Jupiter ?+? JUnit Vintage JUnit 平臺(tái) 是在 JVM 上啟動(dòng)測(cè)試框架的基礎(chǔ)。它還定義了 TestEngine 用于開發(fā)在平臺(tái)

    2024年04月10日
    瀏覽(36)
  • Junit5單元測(cè)試框架詳解

    Junit5單元測(cè)試框架詳解

    前面我們學(xué)習(xí)了Selenium自動(dòng)化測(cè)試框架,但是有的時(shí)候測(cè)試用例會(huì)很多,我們需要一個(gè)工具來管理這些測(cè)試用例,而Junit就是一個(gè)很好的管理工具,簡單點(diǎn)來說,Junit就是一個(gè)針對(duì)Java的單元測(cè)試框架; 目錄 一.?關(guān)于Junit5 二. Junit使用 2.1 添加Maven依賴 2.2 注解 2.3 斷言 2.4 套件

    2024年02月06日
    瀏覽(27)
  • spring boot 單元測(cè)試JUnit5使用斷言Assertions和假定Assumptions、嵌套、參數(shù)測(cè)試

    spring boot 單元測(cè)試JUnit5使用斷言Assertions和假定Assumptions、嵌套、參數(shù)測(cè)試 本文基于spirng boot 2.7.11, 大家注意自己的版本 Spring Boot 2.2.0 版本開始引入 JUnit 5 作為單元測(cè)試默認(rèn)庫 SpringBoot 2.4 以上版本移除了默認(rèn)對(duì) Vintage 的依賴 源碼地址:https://gitcode.net/qq_39339588/springboot.git 1.

    2024年02月11日
    瀏覽(54)
  • Junit5+Mockito單元測(cè)試詳解

    Junit5+Mockito單元測(cè)試詳解

    1.宏觀層面:AIR原則 A:Automatic(自動(dòng)化) 全自動(dòng)執(zhí)行,輸出結(jié)果無需人工檢查,而是通過斷言驗(yàn)證。 I:Independent(獨(dú)立性) 分層測(cè)試,各層之間不相互依賴。 R:Repeatable(可重復(fù)) 可重復(fù)執(zhí)行,不受外部環(huán)境( 網(wǎng)絡(luò)、服務(wù)、中間件等)影響。 2.微觀層面:BCDE原則 B: Bord

    2024年01月17日
    瀏覽(33)
  • springboot項(xiàng)目使用Junit5 + mockito + jacoco 實(shí)現(xiàn)單元測(cè)試以及代碼覆蓋率檢查

    在創(chuàng)建springboot項(xiàng)目時(shí)會(huì)默認(rèn)添加spring-boot-starter-test依賴,其中已經(jīng)包含了junit、mockito依賴,根據(jù)springboot版本的不同junit和mockito的版本也會(huì)有所不同 先說一下各自功能: junit只說一點(diǎn),junt4和junit5的注解不同,使用方式略有差異,其他不贅述了,基本用法都懂。 mockito是mock的

    2023年04月23日
    瀏覽(33)
  • SpringBoot2---單元測(cè)試(Junit5)(1)

    SpringBoot2---單元測(cè)試(Junit5)(1)

    org.junit.vintage junit-vintage-engine test org.hamcrest hamcrest-core org.springframework.boot spring-boot-starter-test test 現(xiàn)在版本: @SpringBootTest class Boot05WebAdminApplicationTests { @Test void contextLoads() { } } 以前: @SpringBootTest + @RunWith(SpringRunner.class) SpringBoot整合Junit以后。 編寫測(cè)試方法:@Test標(biāo)注(注意需要

    2024年04月29日
    瀏覽(17)
  • 靜態(tài)方法 單元測(cè)試 springboot+mokito+junit5

    CodecUtils的方法是靜態(tài)類,使用@InjectMocks不能有用,因?yàn)檫@個(gè)注解只能用于非靜態(tài)的對(duì)象。 想要為靜態(tài)方法寫單元測(cè)試,可以使用Mockito.mockStatic(Class classToMock)方法,它可以返回一個(gè)MockedStatic對(duì)象,用于模擬靜態(tài)方法的調(diào)用。 1.導(dǎo)入依賴 2.單元測(cè)試 可以參考如下地址,了解如何

    2024年04月25日
    瀏覽(21)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包