Junit3和Junit4使用区别
在项目经常会用到单元测试,这里对Junit在开发中的使用标准及使用方法进行简单的介绍。
1.包目录的定义以及相关jar包的添加


2.Junit3和Junit4分别对测试类的编写
所测试的源代码:
- package com.techbirds;
- public class HelloWorld {
- public void sayHello(){
- System.out.println("hello....");
- throw new NumberFormatException();
- }
- public void sayWorld(){
- System.out.println("world....");
- }
- public String say(){
- return "hello world!";
- }
- }
Junit3测试类编写:
- package com.techbirds;
- import junit.framework.TestCase;
- public class HelloWorldTest extends TestCase{
- private HelloWorld hw;
- @Override
- protected void setUp() throws Exception {
- super.setUp();
- hw=new HelloWorld();
- }
- //1.测试没有返回值
- public void testHello(){
- try {
- hw.sayHello();
- } catch (Exception e) {
- System.out.println("发生异常.....");
- }
- }
- public void testWorld(){
- hw.sayWorld();
- }
- //2.测试有返回值的方法
- // 返回字符串
- public void testSay(){
- assertEquals("测试失败", hw.say(), "hello world!");
- }
- //返回对象
- public void testObj(){
- assertNull("测试对象不为空", null);
- assertNotNull("测试对象为空",new String());
- }
- @Override
- protected void tearDown() throws Exception {
- super.tearDown();
- hw=null;
- }
- }
Junit4测试类编写:
- package com.techbirds;
- import org.junit.After;
- import org.junit.Before;
- import org.junit.Test;
- //导入Assert类的静态方法-为了便于junit4->junit3的转换
- import static org.junit.Assert.*;
- public class HelloWorldTest {
- private HelloWorld hw;
- @Before
- public void setUp() {
- hw = new HelloWorld();
- }
- @Test(expected=NumberFormatException.class)
- // 1.测试没有返回值,有别于junit3的使用,更加方便
- public void testHello() {
- hw.sayHello();
- }
- @Test
- public void testWorld() {
- hw.sayWorld();
- }
- @Test
- // 2.测试有返回值的方法
- // 返回字符串
- public void testSay() {
- assertEquals("测试失败", hw.say(), "hello world!");
- }
- @Test
- // 返回对象
- public void testObj() {
- assertNull("测试对象不为空", null);
- assertNotNull("测试对象为空", new String());
- }
- @After
- public void tearDown() throws Exception {
- hw = null;
- }
- }
全部测试类运行:
Junit3和Junit4使用区别的更多相关文章
- JUnit3 和 JUnit4的区别
JUnit3 和 JUnit4的区别 1.JUnit 4使用org.junit.*包而JUnit 3.8使用的是junit.Framework.*;为了向后兼容,JUnit4发行版中加入了这两种包. ...
- Junit3与Junit4的区别
Junit4最大的亮点就是引入了注解(annotation),通过解析注解就可以为测试提供相应的信息,抛弃junit3使用命名约束以及反射机制的方法. /** * 被测试类 */ package co ...
- junit3和junit4的区别总结
先来看一个例子: 先用junit3来写测试用例,如下: junit3测试结果: 从上面可看出: 1.junit3必须要继承TestCase类 2.每次执行一个测试用例前,junit3执行一遍setup ...
- junit3和junit4的使用区别如下
junit3和junit4的使用区别如下1.在JUnit3中需要继承TestCase类,但在JUnit4中已经不需要继承TestCase2.在JUnit3中需要覆盖TestCase中的setUp和te ...
- junit基础学习之-junit3和4的区别(4)
junit3和junit4的使用区别如下 1.在JUnit3中需要继承TestCase类,但在JUnit4中已经不需要继承TestCase 2.在JUnit3中需要覆盖TestCase中的setUp和 ...
- junit3对比junit4
本文内容摘自junit实战,感谢作者的无私奉献. 个人觉得每个开源包的版本对比意义不大,闲来无事,这里就来整理一下好了.本文名为junit3对比junit4,但是我通过这篇博客主要也是想统一的来整理下 ...
- 《Gradle权威指南》--Android Gradle测试
No1: Android既可以用传统的JUnit测试,也可以用Android的instrument测试. No2: 当我们运行测试的时候,androidTest SourceSet会被构建成一个可以安 ...
- 2016-2017-2 20155325实验二《Java面向对象程序设计》实验报告
实验二 面向对象程序设计-1 答案截图 码云代码链接 链接1 实验遇到的问题和解决过程 问题1:在plugins里搜索不到JUnitGenerator V2.0只能搜到Generste Teats 问 ...
- junit学习之junit的基本介绍
Junit目前在一些大的公司或者相对规范的软件中使用的比较多,相当多的小公司并没有把单元测试看的太重要.在大点的公司开发人员每天上班后,第一件事情就是从svn上把自己负责的代码checkout下来,然 ...
随机推荐
- c# 连接mysql配置config,不用装net connector
<system.data> <DbProviderFactories> <remove invariant="MySql.Data.MySqlClient&qu ...
- http.sys的简单应用
//public void Run() //{ // //httpListener提供一个简单,可通过编程方式控制的Http协议侦听器.此类不能被继承. // if (!HttpListener.Is ...
- C# 线程池执行操作例子
public partial class Form1 : Form { CountdownEvent hander = ); public static object lock_action = ne ...
- 如何通过SSH及其Client 批量分发文件和执行管理命令
一.前提:已经配置好root和hadoop用户的无密码的SSH访问 二.直接上代码 ##复制单个文件[hadoop@nn1 hadoop]$ for ip in 102 103 104 111 112 ...
- 微信小程序使用阿里图标
微信小程序不支持外联阿里图标,必须下载放入小程序的本地文件中. 步骤一:下载项目图标 步骤二:转换iconfont.ttf文件(小程序的wxss文件的font-face的url不接受http地址作为参 ...
- [转]POI实现读写Excel2007完整示例
http://blog.csdn.net/little_stars/article/details/8210532 流程:(跟jxl相似,只是读取逻辑有点不同) 跟jxl的两处主要区别: 1.读取和写 ...
- CorelDRAW中如何复制对象属性详解
复制对象属性是一种比较特殊.重要的复制方法,它可以方便而快捷地将指定对象中的轮廓笔.轮廓色.填充和文本属性通过复制的方法应用到所选对象中.本教程将详解CorelDRAW中如何复制对象属性. Corel ...
- python中,如有个非常长的字符串,在写的时候如何将其分隔
说明: 比如,有个长字符串,Put several strings within parentheses to have them joined together.但是我在写脚本的时候, 想要放在多行 ...
- PHP导出excel文件的几种方式
PHP导出excel文件的几种方式 先说说动态生成的内容当作文件来下载的方法: 1.通过把Content-Type设置为application/octet-stream,可以把动态生成的内容当作文件来 ...
- 5 -- Hibernate的基本用法 --4 7 二级缓存相关属性
Hibernate的SessionFactory可持有一个可选的二级缓存,通过使用这种二级缓存可以提高Hibernate的持久化访问的性能. Hibernate的二级缓存属性: ⊙ hibernate ...