测试(Junit 3)

测试代码必须要做的几件事

  1. 准备测试需要的条件
  2. 调用要测试的方法
  3. 验证被测试方法的行为和期望是否一致
  4. 完成后清理各种资源

TestCase

测试类继承TestCase,测试方法以test开头,可通过带参构造方法通过名字创建 TestCase

可以在类中添加 suite 方法来选择性执行

public static Test suite(){
    System.out.println("suite");
    TestSuite suite = new TestSuite();
    suite.addTest(new TestLargest("testLargest"));
    return suite;
}

TestSuite

用于组合测试

TestSuite suite= new TestSuite();
 suite.addTest(new MathTest("testAdd"));
 suite.addTest(new MathTest("testDivideByZero"));

大量测试时

 Class[] testClasses = { MathTest.class, AnotherTest.class }
 TestSuite suite= new TestSuite(testClasses);

Pre-Method 的 setUp tearDown

每个 test 前都会执行setUp,完成后执行 tearDown

protected void setUp() throws Exception {}

@Override
protected void tearDown() throws Exception {}

Pre-Suite 的 setUp tearDown

suite 前后执行一次 setUp tearDown

将 suite(无论通过通过什么方法创建 suite) 通过 TestSetup 包装

public static Test suite(){
    TestSuite suite = new TestSuite();
    suite.addTest(new TestLargest("testLargest"));
    suite.addTest(new TestLargest("testSmallest"));

    TestSetup suiteSetup = new TestSetup(suite){
        @Override
        protected void setUp() throws Exception {
            System.out.println("suite setup");
        }

        @Override
        protected void tearDown() throws Exception {
            System.out.println("suite tearDown");
        }
    };

    return suiteSetup;
}

断言方法

assertEquals()

assertTrue()
assertFalse()

assertNull()
assertNotNull()

assertSame()
assertNotSame()

fail()
failNotEquals()
failSame()
failNotSame()

自定义断言

创建自己的测试基类,在基类中提供自己的断言方法

public class BaseTestCase extends TestCase {

    protected void setUp() throws Exception {
        super.setUp();
    }

    protected void tearDown() throws Exception {
        super.tearDown();
    }

    public void assertGood(int score){
        assertTrue( score >= 60);
    }
}

JUnit 和异常

对测试而言,有两种异常

  1. 从测试代码抛出的可预测浴场
  2. 由某个模块(代码)发生的严重错误,而抛出的不可预测异常
public void testSortList() throws NullPointerException {
    try {
        MyClass.sortList(null);
        fail();
    } catch (Exception e) {
        assertTrue(true);
    }
}

更具体的测试方法还有待研究

简单的总结

使用 junit 进行测试,一般可以总结为如下 4 个步骤:

  1. 写测试类并继承 TestCase 类;
  2. 写测试方法 testXXXX();
  3. 写测试套件类将 test case 加入 test suite;
  4. 运行 TestRunner 进行测试;

    public static Test suite()为缺省的 TestSuite 入口,默认运行测试类 中的所有测试方法,故一般 suite()方法可以省略不写。
    junit TestRunner 有三种分别为基于 AWT,SWING,TEXT 三种

附一份非常简练的Junit3、4的教程

http://download.csdn.net/detail/a06_kassadin/8555949

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值