本例是加减乘除计算
先看一个简单的类Calculator.java:
1package com.test.junit;
2/** *//**
3 *
4 * 数学计算
5 *
6 */
7public class Calculator {
8 public int add(int a,int b){
9 return a + b;
10 }
11 public int minus(int a,int b){
12 return a - b;
13 }
14 public int multiply(int a, int b ){
15 return a * b;
16 }
17 public int divide(int a , int b )throws Exception
18 {
19 if(0 == b){
20 throw new Exception("除数不能为零");
21 }
22 return a / b;
23 }
24/**//*
25 * 一下是不用IDE给我们提供的Junit,用Junit本身去测试的3个方法。
26 public static void main (String[]args){
27 junit.textui.TestRunner.run(CalculatorTest.class);
28 junit.swingui.TestRunner.run(CalculatorTest.class);
29 junit.awtui.TestRunner.run(CalculatorTest.class);
30 }
31*/
32}
下面我们看看传统的JUnit的TestCase:
CalculatorTest.java:
1package com.test.junit;
2
3import junit.framework.Assert;
4import junit.framework.TestCase;
5/** *//**
6 * Keep the bar green to keep the code clean
7 *
8 *在Junit3.8中必须继承TestCase类
9 *
10 *单元测试不是证明您是对的,而是证明您没有错
11 */
12public class CalculatorTest extends TestCase {
13 /** *//**
14 * 在Junit3.8中,测试方法满足如下原则
15 * 1)public
16 * 2)void
17 * 3)无方法参数
18 * 4)最重要的方法名称必须以test开头
19 */
20 private Calculator cal;
21
22 //在执行每个test之前,都执行setUp;
23 public void setUp(){
24 cal = new Calculator();
25 }
26
27 //在执行每个test之后,都要执行tearDown
28 public void tearDown(){
29 }
30
31 public void testAdd()
32 {
33// Calculator cal = new Calculator();
34 int result = cal.add(1, 2);
35 //断言assert
36 Assert.assertEquals(3, result);
37 }
38
39 public void testMinus()
40 {
41// Calculator cal = new Calculator();
42 int result = cal.minus(5, 2);
43 Assert.assertEquals(3, result);
44 }
45
46 public void testMultiply()
47 {
48 Calculator cal = new Calculator();
49 int result = cal.multiply(4, 2);
50 Assert.assertEquals(8,result);
51 }
52
53 public void testDivide()
54 {
55// Calculator cal = new Calculator();
56 int result = 0;
57 try {
58 result = cal.divide(10,5);
59 } catch (Exception e) {
60 e.printStackTrace();
61 //我们期望result = cal.divide(10,5);正常执行;如果进入到catch中说明失败;
62 //所以我们加上fail。
63 Assert.fail();//如果这行没有执行。说明这部分正确。
64 }
65 Assert.assertEquals(2,result);
66 }
67
68 public void testDivide2()
69 {
70 Throwable tx = null;
71 try
72 {
73// Calculator cal = new Calculator();
74 cal.divide(10,0);
75 //正常来讲cal.divide(10,0);已经抛出异常,之后的代码不会被执行。
76 //我们也期望是这样的。所以说如果下面的Assert.fail();执行了。
77 //我的的测试就失败了。
78 Assert.fail();//当执行到这里测试失败,后面的代码将不被执行。
79 } catch (Exception e) {
80 tx = e;
81 }
82 Assert.assertNotNull(tx);//断言tx不为空。也就是说肯定有异常。
83 Assert.assertEquals(Exception.class,tx.getClass());//断言tx的类型为Exception类型
84 Assert.assertEquals("除数不能为零", tx.getMessage());
85 }
86}
本例中只有一个测试类。不过在开发过程中随着项目的壮大,测试类也会越来越多。我们总不能每次测试都去挨个的执行每个test类吧。所以我们要写个总体的test类:
代码如下:
1package com.test.junit;
2
3import junit.framework.Test;
4import junit.framework.TestCase;
5import junit.framework.TestSuite;
6
7public class TestAll extends TestCase {
8 public static Test suite()
9 {
10 TestSuite suite = new TestSuite();
11 suite.addTestSuite(CalculatorTest.class);//加入你所想测试的测试类
12
13 return suite;
14 }
15}
分享到:
相关推荐
我们将以一个简单的日期计算程序为例,来演示JUnit的基本使用方法。 首先,我们的程序功能是接收用户输入的有效日期,并计算并输出下一天的日期。例如,如果输入"2013.12.31",程序应输出"2014.1.1"。为了实现这个...
Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例涵盖了Spring和Struts两大框架的单元测试,旨在帮助开发者掌握如何对这两个流行的Java Web框架进行有效的测试。 一、Junit...
【标题】:“junit_eclipse实例”是一个关于在Eclipse集成开发环境中运用JUnit进行单元测试的实战案例。这个实例小巧易用,无需额外配置其他库,对于初学者来说,是快速掌握JUnit单元测试的绝佳起点。 【描述】:...
总结,Junit4使得Java的单元测试变得简单而直观。通过注解,我们可以快速定义测试方法,结合断言库进行结果验证,确保代码质量。在本例中,我们学会了如何为Calculate类的加减乘除方法编写有效的单元测试,为后续的...
一个简单的JUnit测试类通常会继承自`junit.framework.TestCase`(JUnit 4及之前版本)或者使用`@RunWith(JUnitPlatform.class)`注解(JUnit 5及以上版本)。下面是一个基于JUnit 4的简单示例: ```java import org....
下面是一个简单的Junit4测试案例,涉及了对`WordDealUtil`类中`wordFormat4DB`方法的测试: ```java package com.ai92.cooljunit; import static org.junit.Assert.assertEquals; import org.junit.Test; public ...
通过这个简单的例子,我们可以了解到JUnit如何帮助我们确保代码的正确性和稳定性。在实际项目中,使用JUnit进行持续集成和自动化测试是非常常见和重要的实践。同时,它也可以与其他工具(如Mockito进行模拟对象测试...
本文将深入探讨JUnit的简单使用,包括如何安装、创建测试类、使用断言、注解以及测试套件。 首先,安装JUnit通常是通过在项目构建工具(如Maven或Gradle)的依赖管理中添加JUnit库来完成的。对于Maven,可以在pom....
本实例将深入探讨Junit测试的基本用法,包括简单单元测试和综合测试的实现。 一、Junit简介 Junit是由Ernst Berg和Kent Beck共同创建的开源项目,其主要目标是提供一个易于使用的接口来编写针对Java代码的测试用例...
《Spring4与JUnit的简单测试实践》 在Java开发领域,Spring框架以其强大的功能和灵活性深受开发者喜爱。Spring4作为其一个重要的版本,引入了许多改进和优化,使得测试变得更加便捷。而JUnit作为Java单元测试的事实...
以下是一个简单的JUnit4测试示例,针对上述`A`类的`sum()`和`reverse()`方法进行测试: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public class ATest { @Test public void...
介绍如何利用反射和注解去简单的模拟JUnit4单元测试的使用,之所以选择JUnit4是因为4.0以后最大的改进就是使用了注解。需要注意的是这里并不是完全的模拟,只是简单实现了一下Runner类和JUnit注解相关的工作流程。...
eclipse上通过一个简单例子演示使用JUnit4进行测试
这个简单的HelloWorld教程旨在引导初学者了解如何使用JUnit进行测试驱动开发(TDD)。TDD是一种软件开发方法论,强调先编写测试用例,确保测试失败,然后再编写实现代码,使测试通过。 TDD的主要规范包括: 1. 在...
首先,安装JUnit的过程相对简单,主要包括以下几个步骤: 1. 访问JUnit的官方网站(http://www.junit.org)下载最新版本。在本文的例子中,使用的版本为3.8.1,现在可能有更新的版本,建议选择最新稳定版。下载完成...
标题中的“一个使用ant及junit进行单元测试的简单例子”揭示了本主题将围绕两个核心工具——Apache Ant和JUnit,讲解如何在Java项目中进行单元测试。Apache Ant是一个广泛使用的构建工具,它允许开发者通过XML配置...
Eclipse作为一款流行的Java集成开发环境(IDE),内置了对JUnit框架的支持,使得编写和运行单元测试变得简单高效。本教程将详细介绍如何在Eclipse中使用JUnit4进行单元测试。 首先,你需要了解JUnit4的基本概念。...
以下是一个简单的例子: ```java import org.junit.Test; import static org.junit.Assert.assertEquals; public class MyClassTest { private MyClass myClass = new MyClass(); @Test public void testAdd() ...
在书中,作者首先介绍了JUnit的基本概念,包括如何创建和运行简单的测试用例,以及如何利用注解(Annotation)来简化测试代码。JUnit的核心类库如`@Test`、`@Before`、`@After`等注解的使用方法被逐一讲解,让读者...
本篇文章将深入探讨JUnit4的单元测试实例,帮助你更好地理解和应用这个工具。 一、JUnit4简介 JUnit4相较于之前的版本,引入了注解(Annotation)机制,极大地简化了测试用例的编写。例如,`@Test`注解用于标记测试...