junit示例

junit示例

1. TestCase
最简单的 JUnit测试案例看起来像这样:
import junit.framework. TestCase;
public class Test extends TestCase {
public Test(String name) {
super(name);
}
public void testSimpleTest() {//测试方法,必须以test开头
// Test Code goes here
}
}

TestCase是一个指令对象。任何包含测试方法的类别都是 TestCase的子类别。 TestCase可以定义任意数量的testXXX()方法。
TestCase子类别可以包含多个testXXX()方法;可以使用setUp()及tesrDown()方法初始化及释放测试下的任何一般的对象,这个子类别形同测试的基础设备(fixture)。每一个测试在其本身基础设备的背景下执行,在每一个测试方法之前呼叫setUp()及之后呼叫tearDown()以确保没有副作用影响测试的执行。
撰写测试案例请依据下列的步骤:
定义一个 TestCase的子类别。
覆写setUp()方法以初始化测试中的一个或多个对象。
覆写tearDown()方法以释放测试中的一个或多个对象。
定义一个或多个公开的testXXX()方法;这些方法检验这些测试中的对象并且评估期望的结果。

下面是一个最简单的例子:

import junit.framework. TestCase;
public class Test extends TestCase {
public Test(String name) {
super(name);
}
public void setUp() {}
public void tearDown(){}
public void testHelloWorld() {
// Test Code goes here
String hello = "Hello";
String world = "world";
assertEquals("Hello world", hello+world);
}
}

测试被执行的结果显示失败的情况如下:
Time: 0.01
There was 1 failure:
1) testHelloWorld(Test) "expected: but was:"
FAILURES!!!Tests run: 2, Failures: 1, Errors: 0


2 TestSuite

当写完单元测试 testCase代码完成后,我们可以用 Junit提供的TestSuite对象对测试单元进行组织。 TestCase实例对象可以合成为TestSuite层级架构;在这个TestSuite层级架构中可以自动激活定义在 TestCase实例对象中的所有testXXX()方法。一个TestSuite是其它多个测试的一个合成对象,其中包括 TestCase实例对象及其它的TestSuite实例对象。这个由TestSuite代表的合成对象行为自动的执行所有测试以产出个别的通过或失败的状态。
TestSuite的基本结构如下:

package ×××;i
mport junit.framework.*;
public class AllTests extends TestCase {
public AllTests(String s) {
super(s);
}
public static Test suite() {
TestSuite suite = new TestSuite();
suite.addTestSuite(Test×××.class);//添加测试案例
suite.addTestSuite(Test×××.class);
suite.addTestSuite(Test×××.class);
return suite;
}
}

<!-- 正文结束 -->

<!--博文正文 end --><!--第二列start--><!--第三列start-->

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值