junit jumpstart

本文介绍JUnit的基本概念及其在Java单元测试中的应用。通过一个简单的计算器示例,演示如何使用JUnit进行测试,并对比了使用与不使用JUnit框架的区别。

这篇文章是junit的入门,文章主要包含下面的几个部分:

1.junit是什么?我们为什么要使用junit这个框架?使用junit框架能够给我们带来什么?

2.一个简单的junit的测试demo。

1.junit是什么?

JUnit is a simple framework to write repeatable tests. It is an instance of the xUnit architecture for unit testing frameworks.简单的说junit是一个简单的旨在编写重复tests的框架。junit是xunit的在java方面的具体实现。

2.我们为什么使用junit?使用junit给我们带来了什么?一个简单的junit的测试的demo(junit 3.8.2)。

待测试代码:

/** * */ package com.jefferyxu.jumpstart; /** * 一个简单的计算器的实例 * @author jefferyxu * */ public class Calculator { public double add(double a, double b) { return (a + b); } }

如果不适用junit框架,简单的来讲如果只是测试add方法,可以这么来实现:

/** * */ package com.jefferyxu.jumpstart; /** * @author jefferyxu * */ public abstract class TestCalculator { /** * 如果没有使用junit框架的话,测试上面的Calculator * 需要按照如下的方式. * @param args */ public static void main(String[] args) { Calculator calc = new Calculator(); double result = calc.add(10, 50); if (result != 60) { System.out.println("bad result :" + result); } } }

考虑到这个测试程序的可拓展性(除了add方法之外还需要测试其他的method),可以这么写:

/** * */ package com.jefferyxu.jumpstart; /** * @author jefferyxu * */ public class TestCalculator { private int nbErrors = 0; public void testAdd() { Calculator calc = new Calculator(); double result = calc.add(10, 50); if (result != 60) { System.out.println("bad result :" + result); } } /** * 拓展其他的测试method */ public static void main(String[] args) { TestCalculator test = new TestCalculator(); try { test.testAdd(); /* * 拓展其他的测试method */ } catch(Throwable e) { test.nbErrors++; e.printStackTrace(); } if(test.nbErrors > 0) { throw new RuntimeException("threr are " + test.nbErrors + " errors."); } } }

显然上面的TestCalculator能够较好的完成test的工作,但是为了满足这些条件规则的话,需要编写很多的支持的代码。如果你愿意一遍遍的编写重复的代码,那也ok。简单的并且偷懒的方法就是使用junit的框架,这个框架为你省去了编写这些“重复”代码的工作。

使用junit框架来测试(这里忽略了junit的安装步骤,直接使用的myeclipse 8.5):

代码如下:

package com.jefferyxu.jumpstart; import junit.framework.TestCase; /** * @author Administrator * */ public class TestCalculator extends TestCase { public void testAdd() { Calculator calc = new Calculator(); double result = calc.add(10, 50); assertEquals(60, result, 0); } }

测试结果如图:

显然测试成功。需要通过上面的简单的demo,我们需要注意如下的问题:

  • 每个使用junit的测试类需要继承自junit.framework.TestCase。
  • 测试方法推荐使用testXXX的形式。
  • 测试的类推荐使用TestXXX的形式。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值