后端 | Java | 單元測(cè)試
筆記來(lái)源:Java入門(mén)基礎(chǔ)視頻教程,java零基礎(chǔ)自學(xué)就選黑馬程序員Java入門(mén)教程
一、單元測(cè)試
就是針對(duì)最小的功能單元(方法),編寫(xiě)測(cè)試代碼對(duì)其進(jìn)行正確性測(cè)試。
二、Junit單元測(cè)試框架
可以用來(lái)對(duì)方法進(jìn)行測(cè)試,它是第三方公司開(kāi)源出來(lái)的(很多開(kāi)發(fā)工具已經(jīng)集成了junit框架,比如IDEA)。
優(yōu)點(diǎn):
可以靈活的編寫(xiě)測(cè)試代碼,可以針對(duì)某個(gè)方法執(zhí)行測(cè)試,也支持一鍵完成對(duì)全部方法的自動(dòng)化測(cè)試,且各自獨(dú)立。
不需要程序員去分析測(cè)試的結(jié)果,會(huì)自動(dòng)生成測(cè)試報(bào)告出來(lái)。
具體步驟:
將Junit框架的jar包導(dǎo)入到項(xiàng)目中(注意:IDEA集成了Junit框架,不需要我們手動(dòng)導(dǎo)入了)。
為需要測(cè)試的業(yè)務(wù)類(lèi),定義對(duì)應(yīng)的測(cè)試類(lèi),并為每個(gè)業(yè)務(wù)方法,編寫(xiě)對(duì)應(yīng)的測(cè)試方法(必須:公共、無(wú)參、無(wú)返回值)。
測(cè)試方法上必須聲明@Test注解,然后在測(cè)試方法中,編寫(xiě)代碼調(diào)用被測(cè)試的業(yè)務(wù)方法進(jìn)行測(cè)試。
開(kāi)始測(cè)試:選中測(cè)試方法,右鍵選擇“JUnit運(yùn)行”,如果測(cè)試通過(guò)則是綠色;如果測(cè)試失敗,則是紅色。
斷言機(jī)制:
程序員可以預(yù)測(cè)業(yè)務(wù)方法的結(jié)果。
Assert.assertEquals(msg, expected, index)。
常見(jiàn)注解:
@Test:測(cè)試類(lèi)中的方法必須用它修飾才能成為測(cè)試方法,才能啟動(dòng)執(zhí)行。
@Before / @BeforeEach:用來(lái)修飾一個(gè)實(shí)例方法,該方法會(huì)在每一個(gè)測(cè)試方法執(zhí)行之前執(zhí)行一次。
@After / @AfterEach:用來(lái)修飾一個(gè)實(shí)例方法,該方法會(huì)在每一個(gè)測(cè)試方法執(zhí)行之后執(zhí)行一次。
@BeforeClass / @BeforeAll:用來(lái)修飾一個(gè)靜態(tài)方法,該方法會(huì)在所有測(cè)試方法執(zhí)行之前只執(zhí)行一次。
@AfterClass / @AfterAll:用來(lái)修飾一個(gè)靜態(tài)方法,該方法會(huì)在所有測(cè)試方法之后只執(zhí)行一次。
在測(cè)試方法執(zhí)行前執(zhí)行的方法,常用于:初始化資源。
在測(cè)試方法執(zhí)行后再執(zhí)行的方法,常用于:釋放資源。