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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

java 计算器 junit测试_Java中Junit4测试实例

發(fā)布時間:2024/10/8 java 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 计算器 junit测试_Java中Junit4测试实例 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Junit簡介

JUnit: JUnit是一個Java語言的單元測試框架。

單元測試:單元測試的目的不是證明你的程序是正確的,而是證明你的程序沒有錯誤

目前流行的版本3.8和4.0

Junit3.X:需要繼承于TestCase

Junit4.0:增加了annotation注解

測試方法

@Test

注意:JUnit推薦的做法是以test作為待測試的方法的開頭,這樣這些方法可以被自動找到并被測試。

斷言

@BeforeClass修飾的方法會在所有方法被調用前被執(zhí)行,而且該方法是靜態(tài)的,所以當測試類被加載后接著就會運行它, 而且在內(nèi)存中它只會存在一份實例,它比較適合加載配置文件。

@AfterClass所修飾的方法通常用來對資源的清理,如關閉數(shù)據(jù)庫的連接。

@Before和@After會在每個測試方法的前后各執(zhí)行一次。

Failure一般由單元測試使用的斷言方法判斷失敗所引起的,這經(jīng)表示 測試點發(fā)現(xiàn)了問題 ,就是說程序輸出的結果和我們預期的不一樣。

error是由代碼異常引起的,它可以產(chǎn)生于測試代碼本身的錯誤,也可以是被測試代碼中的一個隱藏的bug。

測試用例不是用來證明你是對的,而是用來證明你沒有錯。

最恐怖的bug是邏輯bug.

最佳實踐方式

1.測試方法上必須使用@Test進行修飾

2.測試方法必須使用public void 進行修飾,不能帶任何的參數(shù)

3.新建一個源代碼目錄來存放我們的測試代碼

4.測試類的包應該和被測試類保持一致

5.測試單元中的每個方法必須可以獨立測試,測試方法間不能有任何的依賴

6.測試類使用Test作為類名的后綴(不是必須)

7.測試方法使用test作為方法名的前綴(不是必須)

常用注解

@Test(expected=ArithmeticException.class)

@Ignore("提示信息")//所修飾的測試方法會被測試運行器忽略

@Test(timeout=2000)//設置超時時間

@RunWith //可以更改測試運行器 org.junit.runner.Runner

junit4 assert類中的assert方法總結 :

junit中的assert方法全部放在Assert類中,總結一下junit類中assert方法的分類。

1.assertTrue/False([String message,]boolean condition);

判斷一個條件是true還是false。

2.fail([String message,]);

失敗,可以有消息,也可以沒有消息。

3.assertEquals([String message,]Object expected,Object actual);

判斷是否相等,可以指定輸出錯誤信息。

第一個參數(shù)是期望值,第二個參數(shù)是實際的值。

這個方法對各個變量有多種實現(xiàn)。在JDK1.5中基本一樣。

但是需要主意的是float和double最后面多一個delta的值,可能是誤差范圍

4.assertNotNull/Null([String message,]Object obj);

判讀一個對象是否非空(非空)。

5.assertSame/NotSame([String message,]Object expected,Object actual);

判斷兩個對象是否指向同一個對象。看內(nèi)存地址。

7.failNotSame/failNotEquals(String message, Object expected, Object actual)

當不指向同一個內(nèi)存地址或者不相等的時候,輸出錯誤信息。

注意信息是必須的,而且這個輸出是格式化過的。

一。先編寫實體類 MyCaculator.java

package com.entity;

//計算器類

public class MyCaculator {

public int add(int x,int y) ///加法

{

return x+y;

}

public int sub(int x,int y) //減法

{

return x-y;

}

public int multi(int x,int y) //乘法

{

return x*y;

}

public double div(int x,int y) //除法

{

return x/y;

}

}

二。編寫測試類 TestMyCaculator.java

package com.entity;

import org.junit.Test;

import junit.framework.Assert;

public class TestMyCaculator {

private static MyCaculator c = new MyCaculator(); // 創(chuàng)建對象

// 測試加法

@Test

public void testAdd() {

int result = c.add(10, 5);

Assert.assertEquals(15, result);

}

// 測試減法

@Test

public void testSub() {

int result = c.sub(10, 5);

Assert.assertEquals(5, result);

}

// 測試乘法

@Test

public void testMulti() {

int result = c.multi(10, 5);

Assert.assertEquals(50, result);

}

// 測試除法

@Test(expected = ArithmeticException.class)

public void testDiv() {

double result = c.div(10, 5); // 算數(shù)異常,這里拋出異常了。

// 這個斷言執(zhí)行不到。

Assert.assertEquals(3, result);// 這個斷言能通過嗎?

}

}

需要導入的jar包:junit-4.10.jar

總結

以上是生活随笔為你收集整理的java 计算器 junit测试_Java中Junit4测试实例的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

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