亚洲国产日韩欧美一区二区三区,精品亚洲国产成人av在线,国产99视频精品免视看7,99国产精品久久久久久久成人热,欧美日韩亚洲国产综合乱

首頁 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 啟動,自動呼叫。不需要新增額外的呼叫語句。

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

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

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

2、測試設(shè)計階段:根據(jù)程式碼的功能,手動設(shè)計測試案例進(jìn)行基本功能測試。依據(jù)程式設(shè)計說明書,依照一定規(guī)範(fàn)化的方法進(jìn)行軟體結(jié)構(gòu)劃分和設(shè)計測試案例。

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

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

接下來我們介紹裡面的註解:

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

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

@RepeatedTest:此註解可讓測試方法自訂重複執(zhí)行次數(shù)。

@TestFactory:表示一個方法是基於資料驅(qū)動的動態(tài)測試資料來源。

@Displayname:宣告測試類別或測試方法的自訂顯示名稱。

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

@AfterEach:表示在每一個測試方法運行後,都執(zhí)行該指定方法。

@BeforeAll:在目前類別的所有測試方法之前執(zhí)行,此方法可以包含一些初始化程式碼。

@AfterAll:在目前類別的所有測試方法之後執(zhí)行。

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

斷言:

Fail:斷言測試失敗。

AssertTrue/asserFalse:斷言真或假。

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

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

AssertArrayEquals:斷言陣列元素全部相同。

AssertSame/assertNotSame:斷言兩個物件是否相同。

AssertThrows/assertDoesNotThrow:斷言是否拋出例外。

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

下面我們建立一個類,建立幾個方法:

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));
    }
}

我們建立了一個名為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影片教學(xué)

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

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)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)

熱門話題

Laravel 教程
1597
29
PHP教程
1488
72
JUnit單元測試框架:使用它的優(yōu)點和局限性 JUnit單元測試框架:使用它的優(yōu)點和局限性 Apr 18, 2024 pm 09:18 PM

JUnit單元測試框架是一個廣泛使用的工具,主要優(yōu)點包括自動化測試、快速回饋、提高程式碼品質(zhì)和可移植性。但它也有局限性,包括範(fàn)圍有限、維護(hù)成本、依賴性、記憶體消耗和缺乏持續(xù)整合支援。對於Java應(yīng)用程式的單元測試,JUnit是一個強大的框架,提供了許多好處,但使用時需要考慮其限制。

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

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

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

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

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

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

JUnit單元測試框架:解決常見記憶體洩漏問題的指南 JUnit單元測試框架:解決常見記憶體洩漏問題的指南 Apr 18, 2024 pm 04:51 PM

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

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)啟用擴(kuò)展,使用@Autowired注入Bean,使用@BeforeEach和@AfterEach準(zhǔn)備和清理,用@Test標(biāo)記測試方法。

JUnit單元測試框架在Java中的最佳實務(wù)是什麼? JUnit單元測試框架在Java中的最佳實務(wù)是什麼? Apr 18, 2024 pm 09:03 PM

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

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

在JUnit中,可以透過以下步驟在偵錯模式下執(zhí)行測試案例:使用@RunWith註解關(guān)聯(lián)BlockJUnit4ClassRunner運行器。設(shè)定斷點以暫停執(zhí)行並檢查變數(shù)。使用System.out.println()輸出資訊以追蹤程式碼執(zhí)行。使用JUnitAssert斷言方法驗證預(yù)期值和實際值。

See all articles