本文实例为:JUnit4+Eclipse+CVS的实践

目录

1、测试环境搭建

1.1 JDK安装部署

1.2 Eclipse安装部署

1.3 Eclipse添加JUnit4

1.4 CVS项目文件引入

1.5 Snippets测试用例模板引入

2、使用JUnit测试ATS基础平台

2.1 单元测试用例层次结构

2.2 编写单元测试示例

2.2.1 构建测试类包名

2.2.2 构建测试方法类名

2.2.3 使用Snippets模板插入模板

2.2.4 完善测试用例

2.2.5.使用测试套件管理测试用例

3、 执行单元测试

3.1 单个测试用例执行

3.2 使用套件执行所有用例

1、环境搭建

1.1JDK安装部署

1.2Eclipse安装部署

1.3Eclipse添加JUnit4

首先新建一个Java工程— coolJUnit。现在需要做的是,选中coolJUnit项目,右键选择“Properties”选项,打开项目coolJUnit 的属性页 -> 选择“Java Build Path”子选项 -> 点选“Add Library …”按钮 -> 在弹出的“Add Library”对话框中选择 JUnit,并在下一页中选择JUnit 4后点击“Finish”按钮。这样便把JUnit 引入到当前项目库中了。

1.4CVS项目文件引入

第一步,在Eclipse菜单栏调出CVS视窗,如下图所示:

第二步,在CVS视窗中鼠标右键新建项目库位置,如下图所示:

第三步,将所需的代码文件checkout默认存放在Eclipse工作区间,如下图所示:

最后,返回到java视窗就会发现刚才checkout的文件,如下图所示:

1.5Snippets测试用例模板引入

第一步,在Eclipse菜单栏调出Snippets视窗,如下图所示

第二步,在Snippets视窗中鼠标右键点击Customize,如下图所示:

第三步,在Customize Palette窗口中import测试模板,选择在CVS引入的文件snippetsTest,如下图所示:

最后,返回Snippets视窗就看见可用的测试模板,如下图所示:

2、使用JUnit测试项目

2.1单元测试用例层次结构

由于项目需要测试的类很多,为方便管理单元测试用例,使用Junit的框架管理测试用例。每个测试类为一个测试套件,测试类中的一个方法单独为一个Java类,内含多个单元测试用例。

2.2编写单元测试实例

2.2.1构建测试类包名

新建包名的命名规范是原测试类包名前加test和包名后加测试类名,如下图所示:

举例:

假设要编写以下这个类的单元测试用例:

首先在UnitTest文件夹下的TestCaseSuit文件下建一个测试包,包名如下:

test.XXX.plt.base.extend.mail.Log4JMailSender

2.2.2构建测试方法类名

在上一步骤所创建的包下,为Log4JMailSender类中所有的参测方法新建测试类,一个方法新建一个对应的测试类。具体的操作是,点击参测类Log4JMailSender后右键选择“New” à “JUnit Test Case” à “Next>” à 选择路径及类名 à “Next>” à 选择参测方法 à “Finish”即可创建包含所有参测方法的一个测试类。打开创建的测试类,复制其内部的方法名,并以此创建Java类,这样即可创建与参测方法一一对应的测试类了,

举例:

第一步,鼠标右击测试类新建一个JUnit Test Case,如下图所示:

第二步,在新建的窗口中点击【next】,然后勾选测试所有方法,点击【Finish】,如下图所示:

第三步,新建完后在测试类下面会出现对应的Log4JMailSenderTest测试类,然后看到下面testSend()方法,去掉test前缀,用Send的名称来在刚才新建测试包下新建一个类,如下图所示:

用Send做类名,新建测试类:

2.2.3使用Snippets模板插入模板

第一步,在Snippets视窗中鼠标右键点击Insert,如下图所示:

第二步,在弹出的窗口填入对应值,如下图所示:

最后,导入后测试代码模板如下图所示:

2.2.4完善测试用例

如下图所示,完善测试用例的初始化参数代码,调用方法和判定语句即可完成测试用例:

2.2.5使用测试套件管理测试用例

为所有的参测方法编写完测试用例后,新建一个名为AllTest的Java类,该类负责管理和执行所有的单元测试用例。编写AllTest.java代码,使其继承JUnit的TestCase,重写suite( )方法。并在该方法内添加需要执行单元测试,可使用addTest(Test test)方法一个个添加单元测试用例,也可使用addTestSuite(Class <? extends TestCase > testClass)一次性添加一个类中的所有单元测试用例。

举例:

publicclass AllTests extends TestCase {

publicstatic Test suite() {

TestSuite suite = new TestSuite(AllTests.class.getName());

//$JUnit-BEGIN$

suite.addTestSuite(GetSize.class);

ReportResult.methodCount++;

suite.addTestSuite(QueryListTArrayIPredicateOfTIFunctionOfRT.class);

ReportResult.methodCount++;

suite.addTestSuite(QueryListIterableOfTIPredicateOfTIFunctionOfRT.class);

ReportResult.methodCount++;

suite.addTestSuite(TestIterator.class);

ReportResult.methodCount++;

suite.addTestSuite(ToArray.class);

ReportResult.methodCount++;

suite.addTestSuite(ToArrayRArray.class);

ReportResult.methodCount++;

Timer timer = new Timer();

timer.schedule(new MyTimerTask(42), 0, 1000);

//$JUnit-END$

return suite;

}

}

3、执行单元测试用例

3.1单个测试用例执行

第一步,展开测试类,如下图所示:

第二步,对单个测试方法进行执行,如下图所示:

3.2使用套件执行所有用例

单元测试用例编写完成后,那么就可以开始执行单元测试了。打开AllTest.java文件,右键选择“Run As” à 选择“JUnit Test”即可执行所有的单元测试。点击编译信息窗口的“JUnit”,查看用例执行结果,如下图所示。

从执行结果可获得的信息,单元测试用例总数39个,执行用例数39个,错误用例0个,失败用例1个,失败的用例是ToArrayRArray类下的testToArrayRArray_3单元测试用例。

单元测试_JUnit4的应用与实践的更多相关文章

  1. angular单元测试与自动化UI测试实践

    关于本文:介绍通过karma与jsmine框架对angular开发的应用程序进行单元与E2E测试. angular单元测试与集成测试实践 先决条件 创建项目 webstorm中创建空白web项目 创建 ...

  2. ABAP单元测试最佳实践

    本文包含了我在开发项目中经历过的实用的ABAP单元测试指导方针.我把它们安排成为问答的风格,欢迎任何人添加更多的Q&A's,以完成这个列表. 在我的项目中,只使用传统的ABAP report. ...

  3. 使用IdleTest进行TDD单元测试驱动开发演练(2)

    [前言] 1. 有关上篇请参见<使用IdleTest进行TDD单元测试驱动开发演练(1)>,有关本篇用到Entity Framework Code First请参见<使用NuGet助 ...

  4. iOS开发之单元测试

    开始之前 本文侧重讲述如何在iOS程序的开发过程中使用单元测试.使用Xcode自带的OCUnit作为测试框架. 一.单元测试概述 单元测试作为敏捷开发实践的组成之一,其目的是提高软件开发的效率,维持代 ...

  5. TDD单元测试驱动

    使用IdleTest进行TDD单元测试驱动开发演练(2)   [前言] 1. 有关上篇请参见<使用IdleTest进行TDD单元测试驱动开发演练(1)>,有关本篇用到Entity Fram ...

  6. Asp.net MVC 单元测试 简要笔记

    首先要啰嗦几句. 单元测试是TDD的重要实践方法,也是代码质量的一种保证手段.在项目的工程化开发中,研发人员应该尽量保证书写Unit Test,即使不使用TDD. (VS中,我们可以直接使用微软提供的 ...

  7. 卓越Code团队SCRUM呕心沥血实践总结

    卓越Code团队SCRUM呕心沥血实践总结 序言 所属课程 https://edu.cnblogs.com/campus/xnsy/2019autumnsystemanalysisanddesign ...

  8. scrum-master个人实践回顾总结

    个人回顾总结 一.开课提出问题 第一次博客地址:https://www.cnblogs.com/Slow-Walker/p/11513179.html 二.问题回答 2.1问题1:针对单元测试 怎么保 ...

  9. 在w3cschool学完html,css,javascript,jquery以后,还是不会做前端怎么办?

    w3cschool是一个非盈利性的在线技术学习网站,提供按W3C标准编写的基础教程.完整的看完w3cschool上面的手册,可以基本掌握编程语法.基础性的东西通常都会比较零散,因此,在学习一段时间后, ...

随机推荐

  1. Android 学习笔记之Volley开源框架解析(一)

    PS:看完了LGD的六场比赛...让人心酸... 学习内容: 1.Http请求的过程... 2.Volley的简单介绍...   1.Http请求...   这里只是简单的说一下Http请求的过程.. ...

  2. Android 学习笔记之ContentProvider实现数据共享....

    PS:最近听老师说打算让我参与企业的app制作,让我加快学习的进度...好吧,貌似下周还有考试...貌似实验室这个app也要做...暂时不管了...那就只能加快进度了,感觉略微的有点激动和紧张,总算是 ...

  3. UWP开发入门(十三)——用Diagnostic Tool检查内存泄漏

    因为.NET的垃圾回收机制相当完善,通常情况下我们是不需要关心内存泄漏的.问题人一但傻起来,连自己都会害怕,几个页面跳啊跳的,内存蹭蹭的往上涨,拉都拉不住.这种时候我们就需要冷静下来,泡一杯热巧克力. ...

  4. OAuth授权过程

    什么是OAuth授权? 一.什么是OAuth协议 OAuth(开放授权)是一个开放标准,所谓OAuth(即Open Authorization,开放授权),它是为用户资源授权提供了一种安全简单的标准, ...

  5. Android中的依赖问题(五种依赖、eclipse、AS、添加第三方库、jar)

    这篇文章的主题是: 依赖是什么 eclipse中的依赖 AS中的依赖(有一篇详细的文章讲得非常好,这里就不再写了http://blog.csdn.net/yy1300326388/article/de ...

  6. mysql主从复制显示正常,数据没同步现象。

    当时在一个服务器上开启了多实例,主从复制结构图如下: 当时在192.168.10.3的服务器上用show slave status;显示的是正常的复制的,两个线程都为yes,并且读与写的pos也一直在 ...

  7. Sql Server来龙去脉系列之一 目录篇

    从工作一直到现在都没怎么花功夫深入学习下Sql Server数据库,在使用Sql Server时90%的时间基本上都是在接触T-SQL,所以数据库这块基本上属于菜鸟级别.至于数据库的底层框架以及运行机 ...

  8. Installation and Upgrading

    Cumulative Feature Overview Identifies product features available to you when upgrading. This tool r ...

  9. C#中ListView的简单使用方法

    ListView是用于显示数据的,先在窗体中拉一个lisview控件,还有一些新增.修改.删除.查询按钮和文本框,控件名称为listview,按钮为btnInsert,btnUpate,btnDele ...

  10. MyBatis的一些基本操作

    在学校里只学过一点点的hibernate基础,但是这几天被熊哥叫去写好几个类的接口,所以就去百度了一下mybatis的接口方式怎么使用.1定义接口,并且定义其中要使用到的方法,这里必须注意到的是方法名 ...