这篇文章是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的形式。
本文介绍JUnit的基本概念及其在Java单元测试中的应用。通过一个简单的计算器示例,演示如何使用JUnit进行测试,并对比了使用与不使用JUnit框架的区别。
2万+

被折叠的 条评论
为什么被折叠?



