junit开源测试框架学习笔记一探寻junit基本组件TestCase、TestSuite、TestRunner和TestListener

本文是作者学习junit框架的心得笔记,主要探讨junit的基本组件:TestCase、TestSuite、TestRunner和TestListener。通过分析junit案例,解释了TestRunner如何执行test方法,TestSuite如何包装测试方法,以及TestCase在测试类中的作用。文章强调了学习过程中记录的重要性,并鼓励读者深入理解框架细节。
摘要由CSDN通过智能技术生成

还记得培训半路出家来搞JAVA的时候,老师讲的第一个开源框架就是junit,当时觉得是还挺好用的,在myeclipse中右键单击一下,对于按照juni规定格式的方法就会运行,并判断是否和断言也就是你预期的效果是否一致。当时,觉得挺没用的,不就是断言吗,就是得到一个预期的结果,我打个断电点不也一样。现在回想自己以前有的时候还是真的挺搞笑的,有多少人就是忽略了细节鄙夷小事情,如此积月累下来,给自己带来了多么大的损失啊。

很后悔自己以前没有坚持写笔记、日志,前些天看到某个前辈说:学习了的内容如果没有用文字记录下来不算是自己学到的;可能与原文有点出入,但是大体上表达应该是:学习是需要沉淀的,沉淀的东西表现就是自己理解过后的文字东西。

进入本文主题讨论部分,以一个junit自带的案例还研究junit的基本组件TestCase、TestSuite、TestRunner和TestListener:

package junit.samples;

import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;

import junit.framework.Test;
import junit.framework.TestSuite;
/**
 * TestSuite that runs all the sample tests
 */
public class AllTests {

    public static void main(String[] args) throws Exception, SecurityException, NoSuchMethodException {
        junit.textui.TestRunner.run(suite());//运行suite类中添加的测试方法,使用junit的自带的TestRunner
        try {
            throw new IOException("test...");
        } catch (Exception e) {
            StringWriter sw = new StringWriter();
            PrintWriter pw = new PrintWriter(sw);
            e.printStackTrace(pw);
            System.err.println(sw.toString());
            System.out.println(AllTests.class.getName());
        }
    }

    public static Test suite() {
        TestSuite suite = new TestSuite("All JUnit Tests");//创建添加类的测试方法组件
        suite.addTest(ListTest.suite());
        suite.addTest(new TestSuite(junit.samples.money.MoneyTest.class));
        suite.addTest(junit.tests.AllTests.suite());
        return suite;
    }
}

由于不怎么会画UML图,对于这几个组件关系尽力用简短自己文字描述一哈,不喜勿喷哈。

先说说TestRunner这个类,这个类继承了BaseTestRunner,而BaseTestRunner实现了TestListener;BaseTestRunner这个类实现了一些基础方法,两位大师备注很详细,可以自己看看。我拿个对于我们初步研究这几个组件的方法来和大家分享一下:

    /**
     * Returns the Test correspo
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值