国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

首頁 Java Java入門 白盒測試框架(JUnit)的使用

白盒測試框架(JUnit)的使用

Nov 29, 2021 am 09:33 AM
junit

Junit框架:

Junit是開源的java單元測試框架。

今天我們來介紹一下junit5,junit5由三個不同的子項目模塊組成,包括Junit Platform、Junit Jupiter和Junit Vintage。它支持Java8以及以上版本,編輯器我在這使用的是IntelliJ IDEA,只需要查看最后結(jié)果,就知道整個項目的方法接口是否通暢。每個單元測試用例相對獨立,由Junit 啟動,自動調(diào)用。不需要添加額外的調(diào)用語句。

添加,刪除,屏蔽測試方法,不影響其他的測試方法。

Junit主要是用于做白盒測試,白盒測試操作步驟如下:

1、測試計劃階段:根據(jù)需求說明書,制定測試進度。

2、測試設(shè)計階段:根據(jù)代碼的功能,人工設(shè)計測試用例進行基本功能測試。依據(jù)程序設(shè)計說明書,按照一定規(guī)范化的方法進行軟件結(jié)構(gòu)劃分和設(shè)計測試用例。

3、測試執(zhí)行階段:輸入測試用例,得到測試結(jié)果。

4、測試總結(jié)階段:對比測試的結(jié)果和代碼的預(yù)期結(jié)果,分析錯誤原因,找到并解決錯誤。

接下來我們介紹一下里面的注解:

@Test:表示測試方法,不用聲明任何屬性。

@ParameterizedTest:表示方法是測試方法,此外該注釋還可以讓一個測試方法使用不同的人參與多次運行。

@RepeatedTest:該注釋可以讓測試方法自定義重復(fù)運行次數(shù)。

@TestFactory:表示一個方法是基于數(shù)據(jù)驅(qū)動的動態(tài)測試數(shù)據(jù)源。

@Displayname:聲明測試類或測試方法的自定義顯示名稱。

@BeforeEach:表示在每一個測試方法運行前,都運行該指定方法。

@AfterEach:表示在每一個測試方法運行后,都運行該指定方法。

@BeforeAll:在當(dāng)前類的所有測試方法之前執(zhí)行,此方法可以包含一些初始化代碼。

@AfterAll:在當(dāng)前類的所有測試方法之后執(zhí)行。

@Disabled:注明一個測試類或方法無效。

斷言:

Fail:斷言測試失敗。

AssertTrue/asserFalse:斷言真或假。

AssertNull/assertNotNull:斷言為空或不為空。

assertEquals/assertNotEquals:斷言兩個值相不相等。

AssertArrayEquals:斷言數(shù)組元素全部相同。

AssertSame/assertNotSame:斷言兩個對像是否相同。

AssertThrows/assertDoesNotThrow:斷言是否拋出異常。

AssertAll:斷言多個條件均滿足;

下面我們創(chuàng)建一個類,創(chuàng)建幾個方法:

package test;//包機制
import java.lang.reflect.Array;
public class MixedOperation {
    public int mixeOperation(int x,int y){
        return division((x+y),y);
    }
    public int division(int x,int y){
        int result=(x/y);
        return result;
    }
    public static void main(String[] args) {
      MixedOperation mixedOperation=new MixedOperation();
      System.out.println(mixedOperation.mixeOperation(5,1));
    }
}

我們創(chuàng)建了一個名為MixedOperation的類;

package test;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
public class MixedOperationTest {
    private MixedOperation mixedOperation;
    @BeforeEach
    public void init(){
      mixedOperation=new MixedOperation();
    }
    @Test
    public void successTest(){
        System.out.println("run a test:x=4,y=2");
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertEquals(3,result);
    }
   /* @DisplayName("失敗")
    public void errorTest(){`
        System.out.println("run a test:x=4,y=0");
        ArithmeticException exception=new ArithmeticException(
                ArithmeticException.class -> {
            mixedOperation.mixeOperation(4, 0);
        }
        );
    }*/
    @Disabled("參數(shù)")
    @Test
    @DisplayName("參數(shù)")
    @ParameterizedTest
    @CsvSource({"6,3,3","5,2,3","6,2,4"})
    public void caTest(int x,int y,int excepted){
        System.out.println("run a test :x="+x+"y="+y);
        System.out.println(excepted);
        int t= mixedOperation.mixeOperation(x,y);
        Assertions.assertEquals(excepted,t);
    }
    @Disabled
    @Test
    public void  Next(){
       System.out.println("拋出一個異常");
       System.out.println(Assertions.assertThrows(IllegalArgumentException.class, () ->mixedOperation.mixeOperation(2,0)));
    }
    @Disabled
    @Test
    void error(){
        Assertions.assertThrows(Exception.class,()->{Assertions.assertEquals(1,0);});
    }
    @Test
    void sure(){
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertTrue(3==result);//斷言相等
    }
}

這是我們創(chuàng)建一個名為MixedOperationTest的測試類;

?相關(guān)推薦:《java視頻教程

以上是白盒測試框架(JUnit)的使用的詳細內(nèi)容。更多信息請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

本站聲明
本文內(nèi)容由網(wǎng)友自發(fā)貢獻,版權(quán)歸原作者所有,本站不承擔(dān)相應(yīng)法律責(zé)任。如您發(fā)現(xiàn)有涉嫌抄襲侵權(quán)的內(nèi)容,請聯(lián)系admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣服圖片

Undresser.AI Undress

Undresser.AI Undress

人工智能驅(qū)動的應(yīng)用程序,用于創(chuàng)建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用于從照片中去除衣服的在線人工智能工具。

Clothoff.io

Clothoff.io

AI脫衣機

Video Face Swap

Video Face Swap

使用我們完全免費的人工智能換臉工具輕松在任何視頻中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的代碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

功能強大的PHP集成開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版

SublimeText3 Mac版

神級代碼編輯軟件(SublimeText3)

JUnit單元測試框架:使用它的優(yōu)點和局限性 JUnit單元測試框架:使用它的優(yōu)點和局限性 Apr 18, 2024 pm 09:18 PM

JUnit單元測試框架是一個廣泛使用的工具,主要優(yōu)點包括自動化測試、快速反饋、提高代碼質(zhì)量和可移植性。但它也有局限性,包括范圍有限、維護成本、依賴性、內(nèi)存消耗和缺乏持續(xù)集成支持。對于Java應(yīng)用程序的單元測試,JUnit是一個強大的框架,提供了許多好處,但使用時需要考慮其局限性。

JUnit框架中注解如何用于測試方法? JUnit框架中注解如何用于測試方法? May 06, 2024 pm 05:33 PM

JUnit框架中的注解用于聲明和配置測試方法,主要注解包括:@Test(聲明測試方法)、@Before(測試方法執(zhí)行前運行的方法)、@After(測試方法執(zhí)行后運行的方法)、@BeforeClass(所有測試方法執(zhí)行前運行的方法)、@AfterClass(所有測試方法執(zhí)行后運行的方法),這些注解有助于組織和簡化測試代碼,并通過提供明確的意圖和配置來提高測試代碼的可讀性和可維護性。

JUnit單元測試框架:初學(xué)者教程 JUnit單元測試框架:初學(xué)者教程 Apr 18, 2024 pm 01:51 PM

JUnit是Java的單元測試框架,提供了簡潔的工具來測試應(yīng)用程序組件。安裝依賴項后,可通過編寫一個包含@Test注解的單元測試類來測試一個類,并使用assertEquals等斷言方法驗證預(yù)期值和實際值。JUnit提供了許多功能,例如準(zhǔn)備方法、失敗消息和超時機制。

JUnit單元測試框架在多線程環(huán)境中的用法 JUnit單元測試框架在多線程環(huán)境中的用法 Apr 18, 2024 pm 03:12 PM

在多線程環(huán)境中使用JUnit時,有兩種常見方法:單線程測試和多線程測試。單線程測試在主線程上運行,避免并發(fā)問題,而多線程測試在工作線程上運行,需要同步測試方法來確保共享資源不受干擾。常見使用案例包括測試多線程安全方法,例如使用ConcurrentHashMap存儲鍵值對,并發(fā)線程對鍵值對進行操作并驗證其正確性,體現(xiàn)了多線程環(huán)境中JUnit的應(yīng)用。

JUnit單元測試框架在Spring項目中的應(yīng)用 JUnit單元測試框架在Spring項目中的應(yīng)用 Apr 18, 2024 pm 04:54 PM

JUnit是Spring項目中廣泛使用的Java單元測試框架,可以通過以下步驟應(yīng)用:添加JUnit依賴項:org.junit.jupiterjunit-jupiter5.8.1test編寫測試用例:使用@ExtendWith(SpringExtension.class)啟用擴展,使用@Autowired注入Bean,使用@BeforeEach和@AfterEach準(zhǔn)備和清理,用@Test標(biāo)記測試方法。

JUnit單元測試框架:解決常見內(nèi)存泄漏問題的指南 JUnit單元測試框架:解決常見內(nèi)存泄漏問題的指南 Apr 18, 2024 pm 04:51 PM

JUnit單元測試框架可以有效解決常見的內(nèi)存泄漏問題。常見的泄漏問題包括持久靜態(tài)變量引用和未關(guān)閉資源。JUnit提供了泄漏檢測器和分析內(nèi)存占用情況的工具來定位泄漏源。解決方法包括使用局部變量、弱引用、正確關(guān)閉資源和采用try-with-resources語句。通過遵循這些指南,開發(fā)人員可以創(chuàng)建可靠且穩(wěn)定的JUnit測試環(huán)境。

JUnit單元測試框架在Java中的最佳實踐是什么? JUnit單元測試框架在Java中的最佳實踐是什么? Apr 18, 2024 pm 09:03 PM

遵循JUnit單元測試框架的最佳實踐可實現(xiàn)有效的代碼驗證:編寫?yīng)毩⒌臏y試將測試放在適當(dāng)?shù)奈恢檬褂脭嘌悦髦堑仳炞C結(jié)果遵循命名約定(test開頭)編寫負面測試使用Mocking和Stubbing隔離依賴項避免使用靜態(tài)變量刪除重復(fù)代碼自動化測試執(zhí)行

JUnit單元測試框架:在調(diào)試模式下運行測試案例的技巧 JUnit單元測試框架:在調(diào)試模式下運行測試案例的技巧 Apr 18, 2024 pm 03:54 PM

在JUnit中,可以通過以下步驟在調(diào)試模式下運行測試用例:使用@RunWith注解關(guān)聯(lián)BlockJUnit4ClassRunner運行器。設(shè)置斷點以暫停執(zhí)行并檢查變量。使用System.out.println()輸出信息以跟蹤代碼執(zhí)行。使用JUnitAssert斷言方法驗證預(yù)期值和實際值。

See all articles