JUnit如何使用
1:构建TestCase类
public class xxxTestextends TestCase{
}
测试用例类必须实现TestCase,命名习惯一般是在待测试类名称后面加上Test。
2:构建测试方法
可以自动执行的测试方法必须满足如下几个条件
1)必须是public
2)无返回值void
3)方法名称以test开始。(一般是在带测试方法前加上test)
4)无任何参数
Tips: 这里涉及到一个关键的类Assert(断言),断言就是一定是真的。不是真的就结束。
运行一下,看见的是绿色。OK,只要是绿色一切都是正常的。
在完善我们的测试用例之前,还需要将setUp和tearDown这两个方法引入进来。
setUp()这个方法是JUnit默认执行的,就是当调用测试方法之前要先运行这个方法。
当测试方法运行结束的时候要运行另一个方法tearDown().
Assert.fail();
这个方法在我们的测试用例中大量出现,这个方法的意思就是,当成与运行这条语句的时候结束所有的断言。
三种测试环境:
接下来是介绍JUnit可以有三种自定义的环境下运行JUnit的测试。
Text,AWT,Swing。
在main方法中运行如下三段代码。
junit.awtui.TestRunner.run(UserAccountTest.class); 会弹出两个窗口,同时在控制台有信息打出。
junit.swingui.TestRunner.run(UserAccountTest.class); 弹出的两个窗口是JUnit自带的AWT和Swing两种显示环境。
junit.textui.TestRunner.run(UserAccountTest.class); 控制台是Text显示环境。
以上是通过main方法来运行三种测试环境。
还可以通过java命令的方式。
java junit.textui.TestRunner com.test.UserAccountTest
这种方式也适合以上三种环境。
如何测试工程中所有的测试用例:
我们的项目会有很多测试用例,测试用例是同代码基本上同步,当项目基本完成,我们希望运行一下全部的测试用例,这个时候怎么办呢,不可能一个个运行。
实际上JUnit已经提供了这种测试的方法。而且用到了Composite的设计模式,主要是作者太强。
junit中的assert方法全部放在Assert类中,总结一下junit类中assert方法的分类。
1.assertTrue/False([Stringmessage,]boolean condition);
判断一个条件是true还是false。感觉这个最好用了,不用记下来那么多的方法名。
2.fail([String message,]);
失败,可以有消息,也可以没有消息。
3.assertEquals([String message,]Object expected,Object actual);
判断是否相等,可以指定输出错误信息。
第一个参数是期望值,第二个参数是实际的值。
这个方法对各个变量有多种实现。在JDK1.5中基本一样。
但是需要主意的是float和double最后面多一个delta的值,可能是误差范围,不确定这个单词什么意思,汗一个。
4.assertNotNull/Null([String message,]Object obj);
判读一个对象是否非空(非空)。
5.assertSame/NotSame([String message,]Object expected,Objectactual);
判断两个对象是否指向同一个对象。看内存地址。
7.failNotSame/failNotEquals(String message, Object expected, Objectactual)
当不指向同一个内存地址或者不相等的时候,输出错误信息。
注意信息是必须的,而且这个输出是格式化过的。