日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JUnit单元测试--IntelliJ IDEA

發(fā)布時(shí)間:2025/4/14 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JUnit单元测试--IntelliJ IDEA 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

單元測(cè)試的基本使用

一、環(huán)境配置

? ? ?使用idea IDE 進(jìn)行單元測(cè)試,首先需要安裝JUnit 插件。

? ? ? ? ? 1.安裝JUnit插件步驟

? ? ? ? ? ? ? File-->settings-->Plguins-->Browse repositories-->輸入JUnit-->選擇JUnit Generator V2.0安裝。

? ? ? ? ? 2.使用JUnit插件

? ? ? ? ? ? ?在需要進(jìn)行單元測(cè)試的類中,使用快捷鍵alt+insert,選擇JUnit test,選擇JUnit4。

二、單元測(cè)試

代碼Demo:

  @Testpublic void testAdd() {assertEquals(2, new UserDao().add(1, 1));}

1>注意事項(xiàng):

    1、測(cè)試方法上面必須使用@Test注解進(jìn)行修飾。

    2、測(cè)試方法必須使用public void 進(jìn)行修飾,不能帶有任何參數(shù)。

    3、新建一個(gè)源代碼目錄用來存放測(cè)試代碼。

    4、測(cè)試類的包應(yīng)該與被測(cè)試類的包保持一致。

    5、測(cè)試單元中的每一個(gè)方法必須獨(dú)立測(cè)試,每個(gè)測(cè)試方法之間不能有依賴。

    6、測(cè)試類使用Test做為類名的后綴(非必要)。

    7、測(cè)試方法使用test作為方法名的前綴(非必要)。

2>錯(cuò)誤解析:

    1、Failure 一般是單元測(cè)試使用的斷言方法判斷失敗引起,說明預(yù)期結(jié)果和程序運(yùn)行結(jié)果不一致。

    2、error 是有代碼異常引起的,他產(chǎn)生于測(cè)試代碼本身中的Bug。

    3、測(cè)試用例是不是用來證明你是對(duì)的,而是用來證明你沒有錯(cuò)。

3>測(cè)試流程:

代碼Demo:    

@BeforeClasspublic static void setUpBeforeClass() throws Exception {}@AfterClasspublic static void setUpAfterClass() throws Exception {}@Beforepublic void before() throws Exception {}@Afterpublic void after() throws Exception {}

      1、@BeforeClass所修飾的方法在所有方法加載前執(zhí)行,而且他是靜態(tài)的在類加載后就會(huì)執(zhí)行該方法,

        ?在內(nèi)存中只有一份實(shí)例,適合用來加載配置文件。

      2、@AfterClass所修飾的方法在所有方法執(zhí)行完畢之后執(zhí)行,通常用來進(jìn)行資源清理,例如關(guān)閉數(shù)據(jù)庫連接。

      3、@Before和@After在每個(gè)測(cè)試方法執(zhí)行前都會(huì)執(zhí)行一次。

4>常用注解

      1、@Test(excepted=XX.class) 在運(yùn)行時(shí)忽略某個(gè)異常。

      2、@Test(timeout=毫秒) 允許程序運(yùn)行的時(shí)間。

      3、@Ignore 所修飾的方法被測(cè)試器忽略。

      4、RunWith 可以修改測(cè)試運(yùn)行器 org.junit.runner.Runner

5>測(cè)試套件

    ? 測(cè)試套件是組織測(cè)試類一起運(yùn)行的測(cè)試類。具體如下:

代碼Demo:

@RunWith(Suite.class) @Suite.SuiteClasses({UserTest1,UserTest2,UserTest3}) public class SuiteTest{}

  注意事項(xiàng):

      1、作為測(cè)試套件的入口類,類中不能包含任何方法。

      2、更改測(cè)試運(yùn)行器Suite.class。

      3、將需要運(yùn)行的測(cè)試類放入Suite.SuiteClasses({})的數(shù)組中。

6>參數(shù)化設(shè)置

      需要測(cè)試的僅僅是測(cè)試數(shù)據(jù),代碼結(jié)構(gòu)是不變的,只需要更改測(cè)試數(shù)據(jù)。

代碼Demo:    

@RunWith(Parameterized.class) public class parameterTest {int expected = 0;int input1 = 0;int input2 = 0;@Parameterspublic static Collection<Object[]> t() {return Arrays.asList(new Object[][]{{3,1,2},{5,2,3}});}public parameterTest(int expected,int input1,int input2) {this.expected = expected;this.input1 = input1;this.input2 = input2;}@Testpublic void testAdd() {assertEquals(expected, UserDao.add(input1,input2));}}

    具體步驟:

        1、更改默認(rèn)的測(cè)試運(yùn)行器為@RunWith(Parameterized.class)。

        2、聲明變量來存放預(yù)期值和測(cè)試值。

        3、聲明一個(gè)返回值為Collection的公共靜態(tài)方法,并用@Parameters修飾。

        4、為測(cè)試類聲明一個(gè)帶有參數(shù)的公共構(gòu)造函數(shù),并在其中為他聲明變量賦值。

以上為基于IntelliJ IDEA 進(jìn)行的單元測(cè)試。  

?

轉(zhuǎn)載鏈接:http://www.cnblogs.com/huaxingtianxia/p/5563111.html

轉(zhuǎn)載于:https://www.cnblogs.com/luohengstudy/p/7681835.html

總結(jié)

以上是生活随笔為你收集整理的JUnit单元测试--IntelliJ IDEA的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。