Junit的导包及单元测试
一、導(dǎo)Junit4的jar包
1、右鍵項(xiàng)目->properties->Java Bulid Path->Libraries->Add Libraries
2、選擇Junit,->Next
3、選擇Junit4,點(diǎn)擊Finish
4、這時(shí)已經(jīng)有Junit4了,點(diǎn)擊Apply and Close
5、項(xiàng)目已經(jīng)有Junit4 的jar包了
二、測試
例子:測試com.ts.bean 下的ReadData.java
ReadData.java的內(nèi)容:
生成測試類:
右鍵要測試的類-> new ->other->搜索Junit,選擇Junit Test Case,點(diǎn)擊next
點(diǎn)擊next
選擇要測試的方法,然后點(diǎn)擊Finish
補(bǔ)充要實(shí)現(xiàn)的東西后,TestReadData.java 內(nèi)容為:
右鍵測試類->Run As ->Junit Test,出現(xiàn)下面的情況即為正確運(yùn)行
解釋圖片:JunitTest結(jié)果有Runs,Errors和Failures三個(gè)顯示狀態(tài)。
Runs顯示的是運(yùn)行的測試用例數(shù)量
Failure指的是預(yù)期的結(jié)果與實(shí)際運(yùn)行單元的結(jié)果不同所導(dǎo)致,例如當(dāng)您使用assertEquals()或其它assertXXX()方法斷言失敗時(shí),就會(huì)回報(bào)Failure,這時(shí)候您要檢查您的單元方法中的邏輯設(shè)計(jì)是否有誤。
Failure一般由單元測試使用的斷言方法判斷失敗所引起的,這就表示測試點(diǎn)發(fā)現(xiàn)了問題,就是說程序輸出的結(jié)果和我們預(yù)期的不一樣。
Error指的是程序沒有考慮到的情況,在斷言之前程式就因?yàn)槟撤N錯(cuò)誤引發(fā)例外而終止,例如在單元中存取某個(gè)陣列,因?yàn)榇嫒〕鏊饕l(fā)。Error是由異常引起的,它可以產(chǎn)生與測試代碼本身的錯(cuò)誤,也可以是被測試代碼中的一個(gè)隱藏的bug。
Junit需要注意的東西:
1、Junit測試前要確保導(dǎo)入了JUnit所需要的jar包(junit-4.12.jar和hamcrest-core-1.3.jar);
2、被JUnit注解修飾的函數(shù)必須是用public修飾
3、被JUnit注解修飾的函數(shù)的返回值必須為void;
4、被JUnit注解修飾的函數(shù)不能用static修飾;
5、被JUnit注解修飾的函數(shù)不能帶有參數(shù)。
6、生成的測試類是半自動(dòng)的
錯(cuò)誤解決:
1、Junit測試出現(xiàn)Not yet implemented情況時(shí):
是因?yàn)閑clipse 生成的Junit Test Case的存根,它將使用添加測試方法fail(“Not yet implemented”)。如果忘記添加真實(shí)的實(shí)現(xiàn),則測試結(jié)果就會(huì)報(bào)錯(cuò),并且錯(cuò)誤或斷言錯(cuò)誤顯示尚未實(shí)現(xiàn)。
2、Junit測試時(shí)當(dāng)有Class not found XXX情況出現(xiàn)時(shí):
有效的解決方法:
Window->Preferences ->Java->Compiler->Building->Building Path Problems
如上圖,將Incomplete build path:和Circular dependencies:的Error 改成 Warning
然后點(diǎn)擊Apply and Close再次運(yùn)行就成功了。
總結(jié)
以上是生活随笔為你收集整理的Junit的导包及单元测试的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 读《史蒂夫•乔布斯传》(五)
- 下一篇: 基于Kotlin的安卓音乐播放器