java中Junit单元测试



Junit元测试

单元测试(junit testing),是指对软件中的最小可测试单元进行检查和验证。Java里单元指一个类。

JUnit ,是一个开源的Java单元测试框架,是 Java的标准单元测试库,是非常重要第三方 Java 库,由 Kent Beck 和 Erich Gamma 开发。

Junit作为一个软件测试的工具,JUnit可以不破坏java原代码,使用方便,添加快捷,代码量少,可视化的测试。

JUnit单元测试步骤:

1.导入包junit测试包:JUnit测试版本,3.81版,4.0版,导入对应的jar包;

2.写一个类扩展(继承)TestCase;
3.在需要测试的方法名前加test生成新的测试方法;
4.运行测试,用断言(assert***)的方法测试成功(显示绿色)或失败(显示红色),或者自己判断结果正确与否。

 Unit3.81与JUnit4.0区别:
1.在 JUnit 4 中,测试是由 @Test 注释来识别的;
2.Unit 3.81 测试运行程序时会在运行每个测试之前自动调用 setUp() 方法,在JUnit4.0中,要用 @Before 注释;
3.在 JUnit 3.81 中,测试运行程序时会在运行每个测试之前自动使用 tearDown() 方法清除消耗的资源,在JUnit4.0中,用 @After 注释。

注意:如果需测试的方法没有返回值,只能测试其过程。

 JUnit4新特性:
1.属于类范围的 setUp()方法 和 tearDown() 方法,任何用 @BeforeClass 注释的方法都将在该类中的测试方法运行之前运行一次,而任何用 @AfterClass 注释的方法都将在该类中的所有测试都运行之后运行一次;
2.异常测试:编写抛出异常的代码,并使用注释来声明该异常是预期的;
3.在需要高效率的测试中,有些代码测试你认为可以跳过,这类测试可以被注释为 @Ignore

4.时间测试可以用超时参数来注释,如果测试的运行时间超过指定的毫秒数,测试失败。 

5.增加两个新的断言方法:

(1)public static void assertEquals(Object[] expected, Object[] actual)
(2)public static void assertEquals(String message, Object[] expected, Object[] actual) 这两个方法用来比较数组:如果数组长度相等且对应的元素相同,则这两个数组相等,否则不等,也考虑了数组为空的情况。

junit类(Mul)单元测试:

package com.myhome;

public class Mul{
public int mul(int x,int y) {
    public int mul(int x,int y) {
        return x*y;
    }
    public double divide(double x,double y){
        return x/y;
    }
}

用myeclipse集成开发环境添加jar包和junit测试支持:

 

1.如果没有就在new菜单最下边Other……中(或Ctrl+N),输入junit选择JUnit Test Case单元测试:

2.选择JUnit 3 Test测试:

3.选择要测试的方法:

4.此时会自动导入jar包(junit3或者junit4需要的jar包),


5.程序目录结构:

6.此时的测试类为:

package com.myhome.test;

import junit.framework.TestCase;

public class MulTest extends TestCase {

    public void testMul() {
        fail("Not yet implemented");
    }

    public void testDivide() {
        fail("Not yet implemented");
    }

}

测试内部方法体:

    public void testMul() {
        Mul mul = new Mul();
        int res = mul.mul(2, 4);
        System.out.println(res);
    }

    public void testDivide() {
        Mul mul = new Mul();
        double res = mul.divide(8.0, 2.0);
        assertEquals(4.0, res);
    }

效果图:

时间: 2024-11-02 09:02:04

java中Junit单元测试的相关文章

使用 Visual Studio Team Test 进行单元测试和java中的测试

原文:使用 Visual Studio Team Test 进行单元测试和java中的测试   C#中test测试地 方法一. 1.从NUnit官网(http://www.nunit.org/index.php)下载最新版本NUnit,当前版本为NUnit2.5.8. 2.安装后,在VS2008中新建测试项目StartNUnit 3.右击项目选择属性,在打开的窗口中选择调试.如图: 4.选择启动外部程序,并定位到NUnit的启动程序nunit.exe.如图: 5.在项目中添加NUnit引用,如图

使用 JUnit 进行 Java 代码的单元测试

下载安装 JUnit 的相关文件 首先我们需要先下载相应的 JUnit 相关的 JAR 包,下载的过程可以去 JUnit 的官方网站,也可以直接通过 Maven 资源仓库来完成,我这里直接通过开源中国社区在国内的Maven 镜像下载了 JUnit-4.8.2.jar 的版本,如下图所示: 直接搜索关键字"junit"即可,我们可以从搜索结果中找到红色方框1中的对应项,选中之后就会在左下方列出目前可以获得的 junit  的所有版本,这里我选择了 4.8.2 的版本(红色方框2),然后点

项目添加Maven支持后运行JUnit单元测试出现错误

项目添加Maven支持后,运行JUnit单元测试,出现一下错误: ERROR in ch.qos.logback.core.joran.action.AppenderAction - Could not create an Appender of type [com.travelsky.tdp.pkgStock.integration.logback.appender.mail.SMTPAppender]. ch.qos.logback.core.util.DynamicClassLoading

在Android中进行单元测试遇到的问题

问题1.Cannot connect to VM  socket closed 在使用JUnit进行测试的时候,遇到这个问题.网上的解释是:使用Eclipse对Java代码进行调试,无论是远程JVM还是本地JVM都会进行Socket通讯.发生这样的错误是由于这些软件会修改winsock,还会监听和占用一些端口,Socket通讯不上造成的. 我通过cmd →ping localhost ,发现localhost指向::1,这是因为我的系统是win7 ,它支持IPv6的原因.而Eclipse需要lo

在 MVP 中进行单元测试

对于测试,大家都不陌生,但是我相信还是有部分开发觉得测试工作和自己没有直接关系.测试工作是测试工程师的事.惭愧的说,本人也是很长一段时间内没真正理解"测试"这件事儿,之前呆过的几家公司都没有真正的"测试工程师",确切的说,是没有会写代码的测试工程师,基本上都是手动测试,然后输出报告,测试无需懂技术,我相信国内很多公司都是这样,特别是 App 端的测试,很少有白盒测试的.这篇要说的东西不多,主要来说说单元测试,由于本人也是最近才开始实践,文章抛砖引玉,如果有说得不到位

Maven管理的Spring Web项目集成JUnit单元测试

JUnit是一套优秀的单元测试框架,而Maven是优秀的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试. 一般的简单Java应用就不多说了,一些框架会提供针对junit的扩展,使得测试变得更容易,例如Spring官方就提供了spring-test,用于提供获取ApplicationContext等方面的支持. 首先要做的是,改变JUnit的实际执行类,将默认的执行类Suite替换为Spring提供的SpringJUnit4ClassRunner,也就是在测试类前面加上一个注

SpringMVC,MyBatis项目中兼容Oracle和MySql的解决方案及其项目环境搭建配置、web项目中的单元测试写法、HttpClient调用post请求等案例

 要搭建的项目的项目结构如下(使用的框架为:Spring.SpingMVC.MyBatis): 2.pom.xml中的配置如下(注意,本工程分为几个小的子工程,另外两个工程最终是jar包): 其中pom.xml中的内容如下,其中${ip}为ip地址: <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"

Android下junit单元测试、logCat的使用

Android下junit单元测试 软件测试小知识: 根据测试是否知道源代码:黑盒测试:只关心程序执行的过程和结果白盒测试:根据源代码写测试方法或者测试用例. 根据测试的粒度: 方法测试:function test单元测试:unit test 集成测试:intergration test 根据测试的次数: 冒烟测试:smoke test(android 猴子) 压力测试:prssure testAndroid单元测试: 1.Android测试类要继承AndroidTestCase类 2.写测试方

Android系列----JUnit单元测试的使用

[正文] 一.单元测试的引入: 如果只是普通的一个小程序,编写测试是有些多此一举,但是当项目比较庞大的时候,一般都应该去编写单元测试.JUnit测试是白盒测试,即主要是程序员自己对开发的方法进行功能性测试.JUnit是一套框架,Android中也沿用了这一套框架. 在Android中使用JUnit测试大致分如下几个步骤: (1)在AndroidManifest.xml中增加对JUnit的支持,并制定测试项目包. (2)在AndroidManifest.xml中<application.../>