`
cloud21
  • 浏览: 397532 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

JUnit测试小记

阅读更多
今天说说junit测试技术,其实这个技术大部分人都听过,只是有些人没用过而已,这东西说起来也很容易,但是确实软件开发过程中必不可少的一门技术,对于一些不规范的小公司也许产品的发布不经过测试,但是对于大型的软件开发的时候,这技术往往是必不可少的,因为任何一个小地方出错都可能是一个很难发现的,但是junit技术这个单元测试技术让我们能边开发边测试,使我们的最终产品出错的几率达到最少。
   我今天讲的例子,开发环境是myeclipse6.0,在这个开发环境中其实已经集成了我们所要的JUnit测试相关的类,只要我们在环境中设置即可,如下图所示,当我们建立一个java工程之后点击工程属性即按下图所示设置好即可:




此时我们的工程就把这些Junit的测试相关的类都导进来了,这时就可以开始我们的测试历程了。
   我们通常是在src源文件包下写我们的源码,为了保证我们的测试类既能与我们的工程分开又能使我们的项目的测试类编译之后能够与我们的要进行测试的类的编译文件在同一个包下,我们可以在工程中新建一个test源包,但是我们要保证测试类和我们的要测试的类有一样的包路径,例如我们的测试类的相对路径为org.rjb.Calculate,那么我们在test源包下的测试类的路径为org.rjb.CalculateTest,这样一来他们编译之后就在同一个包路径下了,不信你可以试试看噢。



  下面我先讲讲一些规则:
测试类名词我们可以定义为被测试类类名+Test来命名(不成文规定);
测试类必须继承自junit.framework.TestCase,它有几个这里需要声明的方法:
    1.public void setUp():这个方法是在每个测试方法开始前要调用的方法,也就是说有几个方法要测试,那就要进行几次     调用,在JUnit3.8中只能这样,但是在JUnit4.0中却可以在整个测试过程中只调用一次。
    2.public void tearDown():这个方法就和上面的方法相对了,也就是在每个测试方法测试之后调用,调用次数完全和上面的方法相同。
测试类中的方法命名规则为test+被测试方法名,当然要被测试方法名要大写了。也就是说测试方法必须是test开头的,可见找到相应的方法是通过反射来找到的。
考虑到我们能够一次性把所有的测试类都执行,我们可以定义一个测试类,只要继承junit.framework.TestSuite就可以了,此时我们必须有下面方法public static Test suite(),究竟如何使用请看下面的代码展示。



  ok,讲了这么多了,会写代码才是硬道理,下面就看代码,希望能给大家帮助:
首先看看我们要进行测试的类Calculate.java:

package org.rjb;

public class Calculate {
 public int add(int a,int b){
  return a+b;
 }
 public int minus(int a,int b){
  return a-b;
 }
}
接着是测试类CalculateTest.java,该类所在的源文件夹为新建的test:
package org.rjb;

import junit.framework.Assert;
import junit.framework.TestCase;

/**
 * 测试类必须继承TestCase
 * @author Administrator
 *
 */
public class CalculateTest extends TestCase{
 private Calculate cal;

/**
  * 测试开始前调用的方法
  */
 public void setUp(){
  System.out.println("Begin Test");
  cal=new Calculate();
 }
 /**
  * 测试结束后调用的方法
  */
 public void tearDown(){
  System.out.println("End Test");
 }
 /**
  * 测试方法必须是以test开头
  */
 public void testAdd(){
  int result=cal.add(1, 2);
  Assert.assertEquals(3, result);
 }
 public void testMinus(){
  int result=cal.minus(2, 1);
  Assert.assertEquals(1, result);
 }

}




此时我们只要运行就可以看到测试结果了,此时会在IDE左侧出现a bar,如果为绿条,那么说明测试是通过的,如果为红色则说明不是正确的,跟您的期望值有所不同,记住这点,出现绿条只能说明该测试符合你的期望,但它不能说明该段代码就是正确的。

我们可以自己尝试写几个测试的类,难道我们要测试的话都是一个一个测试吗,这当然不行,所以JUnit给我们提供了一次测试的方法,具体实现如下:

package org.rjb;

import junit.framework.Test;
import junit.framework.TestSuite;
/**
 * 必须继承自TestSuite来实现所有测试
 * @author Administrator
 *
 */

public class TestAll extends TestSuite{
 //此函数必须是public static类型,且返回Test对象,并且函数名必须为suite
 public static Test suite(){
  TestSuite suite = new TestSuite();
  suite.addTestSuite(CalculateTest.class);
  suite.addTestSuite(LargestTest.class);
  return suite;  
 }

}

这样一来我们就可以一次把多个测试类执行了,ok,就这么简单了,其实JUnit涉及的东西本来就不多,看看如果您能理解上面的代码,那么您应该能在项目中很快应用上面的测试方法了。
分享到:
评论
1 楼 vanezkw 2012-05-16  
比较实用。

相关推荐

    Junit测试案例使用

    3. Junit 的优点:由于 Junit 相对独立于所编写的代码,可以测试代码的编写可以先于实现代码的编写,XP 中推崇的 test first design 的实现有了现成的手段:用 Junit 写测试代码,写实现代码,运行测试,测试失败,...

    实验5 JUnit测试框架的使用.doc

    JUnit 测试框架的使用 JUnit 是一个流行的单元测试框架,广泛应用于 Java 项目中,本文将详细介绍 JUnit 测试框架的使用,并提供了两个示例来帮助读者更好地理解和掌握 JUnit 的使用。 一、JUnit 测试框架的使用 ...

    自动饮料机Junit测试(软件测试与质量保证实验).rar

    本实验“自动饮料机Junit测试”旨在帮助学生深入理解和应用单元测试,特别是在Java编程环境下。单元测试是一种针对程序代码最小可测试单元进行验证的方法,通常这个单元是函数或方法。Junit是Java领域广泛使用的单元...

    junit测试_java_JUnit_JUnit测试_

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。单元测试是对程序中的最小可测试部分——通常是一个函数或方法——进行检查,确保其按照预期工作。JUnit作为...

    Junit 单元测试完整案例

    【Junit单元测试完整案例】深入解析 在软件开发中,单元测试是验证代码功能是否正确、独立单元是否按预期工作的关键步骤。Junit作为Java领域最常用的单元测试框架,为开发者提供了简单易用的API来进行测试。本案例...

    javaweb中.java文件测试需要的框架(junit测试).rar

    本压缩包文件"javaweb中.java文件测试需要的框架(junit测试).rar"显然是为了帮助开发者理解如何在Java Web项目中使用JUnit进行测试。 **JUnit框架详解** JUnit是一个基于注解的测试框架,它的核心功能包括: 1....

    Junit测试jar包

    JUnit是Java编程语言中最常用的单元测试框架之一,它为开发者提供了编写和运行可重复测试的便利工具。在软件开发过程中,单元测试是非常重要的一环,因为它确保了代码的各个独立部分(即单元)按预期工作,有助于...

    Junit测试学习文档

    《Junit测试学习文档》 在软件开发过程中,单元测试是一项至关重要的工作,它能确保代码的正确性,提高代码质量,并为后续的维护和重构提供保障。Junit作为Java编程语言中最流行的单元测试框架,是每个Java开发者...

    junit测试private函数

    JUnit作为Java领域最流行的单元测试框架,通常用于测试公共方法。然而,有时我们可能需要测试私有(private)方法,因为它们可能包含关键逻辑,尽管直接调用它们并不符合面向对象设计的原则。本篇文章将详细介绍如何...

    JUnit3.8.1 以及使用JUnit测试的代码demo

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。JUnit3.8.1是该框架的一个较早版本,尽管现在已经有更新的版本(如JUnit5),但了解其基本...

    JUnit测试jar包.zip

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的功能正确性。这个"JUnit测试jar包.zip"文件很可能包含了JUnit库的jar文件,使得开发者能够在自己的项目中引入...

    JUnit测试代码示例

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可执行的测试用例来验证代码的功能。在本文中,我们将深入探讨JUnit的核心概念、关键特性以及如何使用JUnit3进行测试。 首先,理解单元测试的概念...

    Junit测试.mp4

    Junit测试.mp4

    junit测试案例程序

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的正确性和稳定性。在这个“junit测试案例程序”中,我们可以找到一些基本的JUnit测试用例示例,这对于初学者来...

    junit测试测试代码

    JUnit是Java编程语言中最常用的单元测试框架之一,它允许开发者编写可重复运行的测试用例,以确保代码的功能正确性。在软件开发过程中,单元测试是至关重要的,因为它们可以帮助发现早期错误,提高代码质量,并简化...

    junit测试小例子

    JUnit是Java编程语言中广泛使用的单元测试框架,由Erich Gamma和Kent Beck这两位软件设计大师共同创建。它为开发者提供了一种结构化的方法来验证代码的各个部分是否按照预期工作,确保软件的质量和稳定性。JUnit是...

Global site tag (gtag.js) - Google Analytics