在Eclipse中使用JUnit4进行单元测试初级篇.docx
- 文档编号:24383122
- 上传时间:2023-05-26
- 格式:DOCX
- 页数:15
- 大小:196.51KB
在Eclipse中使用JUnit4进行单元测试初级篇.docx
《在Eclipse中使用JUnit4进行单元测试初级篇.docx》由会员分享,可在线阅读,更多相关《在Eclipse中使用JUnit4进行单元测试初级篇.docx(15页珍藏版)》请在冰豆网上搜索。
在Eclipse中使用JUnit4进行单元测试初级篇
我们在编写大型程序的时候,需要写成千上万个方法或函数,这些
函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的。
但是,我们同时应该确保每一个函数都完全正确,因为如果我们今后如果对程序进行扩展,用到了某个函数的其他功能,而这个功能有bug的话,那绝对是一件非常郁闷的事情。
所以说,每编写完一个函数之后,都应该对这
个函数的方方面面进行测试,这样的测试我们称之为单元测试。
传统的编程方式,进行单元测试是一件很麻烦的事情,你要重新写另外一个程序,在该程序中调用你需要测试的方法,并且仔细观察运行结果,看看是否有错。
正因为如此麻烦,所以程序员们编写单元测试的热情不是很高。
于是有一个牛人推出了单元测试包,大大简化了进行单元测试所要
做的工作,这就是JUnit4。
本文简要介绍一下在Eclipse3.2中使用JUnit4进行单元测试的方法。
首先,我们来一个傻瓜式速成教程,不要问为什么,FollowMe,
先来体验一下单元测试的快感!
首先新建一个项目叫JUnit_Test,我们编写一个Calculator类,这是一个能够简单实现加减乘除、平方、开方的计算器类,然后对这些功能进行单元测试。
这个类并不是很完美,我们故意保留了一些Bug
用于演示,这些Bug在注释中都有说明。
该类代码如下:
publicclassCalculator{
privatestaticintresult;//静态变量,用于存储运行结果
publicvoidadd(intn){
result=result+n;
publicvoidsubstract(intn){
result=result-1;//Bug:
正确的应该是result=result-n
publicvoidmultiply(intn){
//此方法尚未写好
publicvoiddivide(intn){
result=result/n;
publicvoidsquare(intn){
result=n*n;
publicvoidsquareRoot(intn){for(;;);//Bug:
死循环
publicvoidclear(){//将结果清零
publicintgetResult(){
returnresult;
第二步,将JUnit4单元测试包引入这个项目:
在该项目上点右键,点属性”如图:
Java-CalculetorTestI.java-ObjectWebtornboz
FileEditScirceReactorMaviqateSearchProjectRunWfridcw,Help
■希
書吐&〒訂&—
:
;F孙如gtExplorerX
JUnft
:
占Formaklest
''S日JI丁锻
2GUITestl
r_rI
.'.I?
ILaveRennennberWartlsJTJ
*戸
JUn#4Testi
l>src
卜ft:
P£Sysl
卜»JUhit吟
'M/Cbck
LzrServers
s>'Utest
<|
rgstart
|:
:
严
privatestatlcCaleula.tor
calculstt-or
@Beicre
13
puti1icvoidsetUp()throws
Exc&ptiDn
calculator,clear():
国Gaku^tWijsvaljOC^kul^rT^tlijoya圖
New
CoInto
—
叮peninMewWindow
OpenTypeHieurch^
网
voidtestAddU{Lculator.add.
(2);
二 Ctrl+< sertEquals(5fcalcu.lator.getRea Cop/QuaffisdNam& ^7=.Paste Ctrl+V 乂Celete D&late voidtescSut)stracE()( BliIlIPath ► Lculator,^dd.(10): Source ^lt+Shift+-5 Lculatcir.suijstraLct (2): Fefac^or Alt+ShiFt-hT 卜 5ertEquals(Sfcalcu.la.tar・get-Res ^Import... 口Expirt..i P*Multiply()Wot7&cimp1ernenr F呂 _Refresh ClosePnoject CloseUnrelatedProjects voidteatMultip1y(){ RunAs CetiuciAs ErohleAs Validate Tgam CofnpareWith RestoreFromLotmlHestor^... PDETQils 」nv日Persisten匚亡 Declaration匚onsole <□在EclipsecpMJUrit..尊一 在弹出的属性窗口中,首先在左边选择“JavaBuildPath”,然后到右 上选择“Libraries标签,之后在最右边点击“AddLibrary…按钮,如 下图所示: 然后在新弹出的对话框中选择JUnit4并点击确定,如上图所示,JUnit4 软件包就被包含进我们这个项目了。 第三步,生成JUnit测试框架: 在Eclipse的PackageExplorer 中用右键点击该类弹出菜单,选择“NewaJUnitTestCase”如下图 所示: 」恥畑-CalculaterJava-ObjedWebLomboz FileEditSourceRefactorMayigateSearchProjectRinWindowHelp s;PackageExplorer【 =白 70 Fortri^tTest GUITmt GLUT&stl lloveRerrietnberiA/cirds JUnit+.Test &牡 jtbsndy中口 Calculator,i&va CalculatorTest. JF |JJ匚akufetor.java.JCali^jl^torTest.j^va 25 26 27' 2S 39 yuhiicvoidaquareRoot(intn) OpenWitt) CpenTypeHierarchy F3 F4 「Bf'-WESystemLibrary[jre=Q^>y■>E&JUnit&•;「 I,吕MyClock l_Servers [>丄best ...CopyQualifiedName taste XOelete 5十C Ctri+V Delete "Projedt.,, rf'Package GClass &Interface 笠;SourceFolder GErimiri i己Arinotaticn //5ug: 死循环 1/牌堵果清零 .ayrrhEllorrjb .;aJLculatordo GuildPath► SourceAir+Shi比+5► RefactorAlt+5hiFt+T► illmImport... "Export..- 「JUnitTest3uife 'UntithdTextFile *Solder a決 6Example.,, : witcholfthe References>_",宜恼匕 CieclaratforE>1 在弹出的对话框中,进行相应的选择,如下图所示: UNewJUnitTestCase JUnitTestCase SelectthenamecFthedsnJUnittestuas乐7quhavetheoptionstospsciFytheizla^sundertestandonthenextpage』toselectmethodstobetested. 'Ne^JUril;JUnit1test 这里的东函比较复杂>先这么选着后面再耕釋 圳Wthn)ethodetutKwouldyouliketocreate? |setUpCeforeGas$()tearDownAFterda^sO /setUp()匚E爲匝亟磴 tanstrurtor DoyouwanI: toaddconnmentsasccnfiguredtntheprcpertiesqFthecunentproject? Generatecanrnenh 匚urwisrtest: and^pp.Calflulatar Nexta^iniahGancd 点击下一步”后,系统会自动列出你这个类中包含的方法,选择你 要进行测试的方法。 此例中,我们仅对加、减、乘、除”四个方法进行 测试。 如下图所示: 0NewJUnitTest匚hse TestMethods SelectmethodsForwhichtestrnethcdstubsshouldbecreated. Availablemethods: 4mettiodsselected. JCreatefinalmethodstubs Createta^ksforgeneratedtestmethods 之后系统会自动生成一个新类CalculatorTest,里面包含一些空 的测试用例。 你只需要将这些测试用例稍作修改即可使用。 完整的 CalculatorTest代码如下: importstaticorg.junit.Assert.*; importorg.junit.Before; importorg.junit.Ignore; importorg.junit.Test; publicclassCalculatorTest{ 第四步,运行测试代码: 按照上述代码修改完毕后,我们在 CalculatorTest类上点右键,选择“RunAsaJUnitTes来运行我们 的测试,如下图所示: BJava-Calcifl^torTest■-QbjectWebLomho? FileEditSclfu亡FiefactorMaviqateSearchProjectRunWindo忡Help 聲〒0丫乐・迸审<5*®& 1PackageExplorerX 2S ': 丁FormatT&st Pjz? GUIT&51I吕GUITestl VILaveRememberWardt£JUr*+_Test /i.src Jri_-ard/Cpp I>-B 142) puialicvoidte3tz.SufciStiract()(uGuu"古ox1.耳日d{1⑴; calculator•凸血巴匸匚厲uuf呂); ^ssei'tFgijaJs(BrcaJcLilfatOi1.QerResult.() New )NotiiLiplemented.**) 匸剖匚川日tcir’jdfd Open OpenWith OpenTy|ieHierarnhy ltiply(){ L--&: .JRESystemLibrary[>ei.5-: : Copy >•BfcJJ戒4 '衫MfClock 曲Servers 心test CopvQualirirdName Paste XDelete BiildPath Source R.ftfwtor 诅Import... Expgft... kefeiericec Declaratioris .7R.e£resh kunAs DebugAs Profile崗 Valldabe Cb-I+C OrkV Delete Ak+5htft+5卜 Alt4ShiFt+T► F5 Team CamparcWith FLepl^ceWith RestoreFromLocdHstcr^..LApactieAxis,.. WebServices lilt □ndycpip.CafcukatorTest Properties Alt+Enter 运行结果如下: vide()(1(3J;-ide (2);”c(a2cu2dtor.^etResult0 .rithitietieException.cla&jEy^eco(){ 'ide(□); 111 』]_RunonServer Alt+ShiFt+XjR «J7ZJUntlest 亠Alt+5hift+-JCJT RijQi»>i Eclipse中便用Unit… 嚴Java-C 进度条是红颜色表示发现错误,具体的测试结果在进度条上面有表 示共进行了4个测试,其中1个测试被忽略,一个测试失败 至此,我们已经完整体验了在Eclipse中使用JUnit 的方法。 在接下来的文章中,我会详细解释测试代码中的每一个细 节!
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Eclipse 使用 JUnit4 进行 单元测试 初级
![提示](https://static.bdocx.com/images/bang_tan.gif)