📄 junit入门.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<!-- saved from url=(0047)http://www.tot.name/show/3/7/20060120095928.htm -->
<HTML lang=zh-CN xmlns="http://www.w3.org/1999/xhtml"><HEAD><TITLE>JUnit入门-----淘特网(http://www.tot.name)</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META http-equiv=Content-Language content=zh-CN>
<META content=JUnit入门--淘特网(http://www.tot.name) name=description>
<META content=JUnit入门--淘特网(http://www.tot.name) name=keywords><LINK
href="JUnit入门_files/cs.css" type=text/css rel=stylesheet>
<SCRIPT language=javascript src="JUnit入门_files/runcode.js"></SCRIPT>
<META content="MSHTML 6.00.3790.4275" name=GENERATOR></HEAD>
<BODY><!----------------开始导航部分------------------------>
<DIV id=globalNav>
<SCRIPT language=javascript src="JUnit入门_files/head.js"></SCRIPT>
</DIV><!----------------开始导航下面部分------------------------>
<DIV id=container>
<DIV class=mainbg><!----------------开始导航下面左面部分------------------------>
<DIV id=left>
<SCRIPT src="JUnit入门_files/left.js"></SCRIPT>
<DIV class=clear></DIV></DIV><!----------------开始导航下面右面部分------------------------>
<DIV id=right>
<DIV class=content>现在位置:<A href="http://www.tot.name/">首页</A>-><A
href="http://www.tot.name/show/3/">技术中心</A>-><A
href="http://www.tot.name/show/3/7/index_1.htm">JAVA</A></DIV>
<DIV class=content_center><B style="FONT-SIZE: 14px">JUnit入门</B></DIV><!--文章标题-->
<DIV class=content_center2>作者:zc_218 日期: 2006-1-20 9:59:28 访问次数:<IFRAME
marginWidth=0 marginHeight=0 src="JUnit入门_files/CAGLQZUB.htm" frameBorder=0
width=30 scrolling=no height=10></IFRAME>出处:</DIV>
<DIV class=content_bg> 显示选项:
<SCRIPT language=JavaScript src="JUnit入门_files/charstyle.js"></SCRIPT>
<SCRIPT language=JavaScript src="JUnit入门_files/charcode.js"></SCRIPT>
<INPUT onclick="Action('scroller();')" type=checkbox value=on
name=auto>自动滚屏[左键停止]</DIV>
<DIV class=content_detail id=setcolor>
<SCRIPT src="JUnit入门_files/ad_atl_top.js" type=text/javascript></SCRIPT>
JUnit入门 <BR>作者:佚名 来自:未知 <BR> 一、简介<BR><BR> JUnit是一个开源的java单元测试框架。在1997年,由 Erich Gamma 和 Kent Beck 开发完成。这两个牛人中 Erich Gamma 是 GOF 之一;Kent Beck 则在 XP 中有重要的贡献(你觉得眼熟一点都不奇怪)。<BR> 正如常言道:“麻雀虽小,五脏俱全。” JUnit设计的非常小巧,但是功能却非常强大。<BR> 下面是JUnit一些特性的总结:<BR> 1) 提供的API可以让你写出测试结果明确的可重用单元测试用例<BR> 2) 提供了三种方式来显示你的测试结果,而且还可以扩展<BR> 3) 提供了单元测试用例成批运行的功能<BR> 4) 超轻量级而且使用简单,没有商业性的欺骗和无用的向导<BR> 5) 整个框架设计良好,易扩展 <BR> 对不同性质的被测对象,如Class,Jsp,Servlet,Ejb等,Junit有不同的使用技巧。由于本文的性质,以下仅以Class测试为例。<BR><BR> 二、下载<BR><BR> 点击<A
href="http://www.junit.org/"><FONT
color=#0000ff>http://www.junit.org</FONT></A>可以下载到最新版本的JUnit,本文使用的为3.8.1版。至于安装或者配置之类,你只需要轻松的将下载下来的压缩包中的jar文件,放到你工程的classpath中就可以了。<BR> 这样,你的系统中就可以使用JUnit编写单元测试代码了(是不是很简单)!<BR><BR> 三、HelloWorld<BR><BR> 记得在几乎每本语言教学书上都能找到HelloWorld这个入门代码。今天在这里,我们也从一个简单到根本不用单元测试的例子入手。这是一个只会做两数加减的超级简单的计算器(小学一年级必备极品)。代码如下:<BR><BR>public class SampleCalculator<BR>{<BR> public int add(int augend , int addend)<BR> {<BR> return augend + addend ;<BR> }<BR><BR> public int subtration(int minuend , int subtrahend)<BR><BR> {<BR><BR> return minuend - subtrahend ;<BR><BR> }<BR><BR>}<BR><BR> 将上面的代码编译通过。下面就是我为上面程序写的一个单元测试用例:<BR><BR>//请注意这个程序里面类名和方法名的特征<BR>import junit.framework.TestCase;<BR>public class TestSample extends TestCase<BR><BR>{<BR><BR> public void testAdd()<BR><BR> { <BR><BR>SampleCalculator calculator = new SampleCalculator(); <BR><BR> int result = calculator.add(50 , 20);<BR><BR> assertEquals(70 , result);<BR><BR> }<BR><BR> public void testSubtration()<BR><BR> {<BR><BR> SampleCalculator calculator = new SampleCalculator();<BR><BR> int result = calculator.subtration(50 , 20);<BR><BR> assertEquals(30 , result);<BR><BR> }<BR><BR>}<BR><BR> 好了,在DOS命令行里面输入javac TestSample.java 将测试类编译通过。然后再输入 java junit.swingui.TestRunner TestSample 运行测试类,你会看到如下的窗口。 <BR><BR> 绿色说明单元测试通过,没有错误产生;如果是红色的,则就是说测试失败了。这样一个简单的单元测试就完成了.<BR><BR> 按照框架规定:编写的所有测试类,必须继承自junit.framework.TestCase类;里面的测试方法,命名应该以Test开头,必须是public void 而且不能有参数;而且为了测试查错方便,尽量一个TestXXX方法对一个功能单一的方法进行测试;使用assertEquals等junit.framework.TestCase中的断言方法来判断测试结果正确与否。<BR><BR> 你可以对比着上面测试类中的实现来体会下规定??很简单!而且你在这个测试类中有加入多少个测试方法,就会运行多少个测试方法。<BR><BR> 四、向前一步<BR><BR> 学完了HelloWorld,你已经可以编写标准的单元测试用例了。但是还有一些细节,这里还要说明一下。不要急,很快的!<BR> 另外你是否注意到,上面弹出窗口的一个细节,在绿条下面有Errors、Failures统计。这两者有何区别呢?<BR> Failures作为单元测试所期望发生的错误,它预示你的代码有bug,不过也可能是你的单元测试代码有逻辑错误(注意是逻辑错误)。Errors不是你所期待的,发生了Error你可以按照下面的顺序来检查:<BR><BR> 检查测试所需的环境,如:数据库连接<BR><BR> 检查单元测试代码<BR><BR> 检查你的系统代码<BR><BR> 五、成批运行test case<BR><BR> 这是前面提到的JUnit特性之一。它方便于系统单元测试的成批运行。使用起来也是非常简单,先看下使用代码:<BR><BR>import junit.framework.Test;<BR><BR>import junit.framework.TestSuite;<BR><BR>public class TestAll{<BR><BR> public static Test suite(){<BR><BR> TestSuite suite = new TestSuite("TestSuite Test");<BR><BR> suite.addTestSuite( TestSample.class);<BR><BR> return suite;<BR><BR> }<BR><BR>}<BR><BR> 这个测试程序的编译、运行,和上面TestSample的方式是一样的。<BR><BR> javac TestAll.java<BR><BR> java junit.swingui.TestRunner TestAll<BR><BR> 怎么样?这样你在suite方法里面添加几个TestCase就会运行几个,而且它也可以添加TestSuite来将小一点的集合加入大的集合中来,方便了对于不断增加的TestCase的管理和维护。<BR><BR> 你觉得suite方法的作用是不是于java应用程序的main很类似?并且这里的suite必须严格遵守上面的写法!<BR>
<SCRIPT src="JUnit入门_files/ad_atl.js" type=text/javascript></SCRIPT>
</DIV>
<DIV class=clear></DIV>
<DIV id=morelike>⊕相关文章</DIV>
<DIV id=morelikelist>
<UL>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095905.htm">使用动态代理实现用AOP对数据库进行操作</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095829.htm">在Java中操作扫描仪(使用JNI)</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120095745.htm">JDBC存取ORACLE大型数据对象LOB几种情况的示范类</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060120090454.htm">Java中合并XML文档的设计与实现</A>
<LI>·<A href="http://www.tot.name/show/3/7/20060120085248.htm">Java 5.0
多线程编程实践</A>
<LI>·<A
href="http://www.tot.name/show/3/7/20060119084904.htm">全面分析Java的垃圾回收机制</A>
</LI></UL></DIV></DIV>
<DIV class=clear></DIV></DIV></DIV>
<DIV class=clear></DIV>
<DIV id=footer>
<SCRIPT src="JUnit入门_files/root.js"></SCRIPT>
</DIV>
<SCRIPT language=javascript>
document.write ("<img src='../../../js/stat.asp?id=3782&type=1' border='0' height='0' width='0'>");
</SCRIPT>
<SCRIPT src="JUnit入门_files/stat_index.js" type=text/javascript></SCRIPT>
</BODY></HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -