在MyEclipse 2014 中使用JUnit-(一)

本文介绍如何使用JUnit作为Java单元测试框架进行测试。包括安装、创建测试类、实现测试用例等基本步骤,以及如何正确放置测试代码以保持项目结构清晰。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、简介

JUnit是一个开源的java单元测试框架。

1)         提供的API可以让你写出测试结果明确的可重用单元测试用例

2)       提供了三种方式来显示你的测试结果,而且还可以扩展

3)       提供了单元测试用例成批运行的功能

4)       超轻量级而且使用简单,没有商业性的欺骗和无用的向导

5)       整个框架设计良好,易扩展


二、入门

下面是利用JUnit进行单元测试的步骤:

1.创建一个Java项目,命名为JUnitTest。

2.右击该java项目,选择Properties,点击Java Build Path->Add Library->JUnit.->JUnit 4.


这样Junit 就被加入到项目中,如下:


3.创建一个Calculator 类,代码如下:

package com.demo;

public class Calculator {
	public int add(int a,int b){
		return a+b;
	}
	
	public int minus(int a,int b){
		return a-b;
	}
	
	public int divide(int a,int b){
		return a/b;
	}
	
	public int mul(int a,int b){
		return a*b;
	}
}

4.创建一个JUnit Test Case ,设置如下:


5.点击Next,

6.系统会自动生成一个TestCalculator 类,只需要稍微修改其中一些代码即可。测试代码如下:

package com.demo;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import com.demo.Calculator;

public class TestCalculator {
	Calculator calculator;
	@Before
	public void setUp() throws Exception {
		calculator=new Calculator();
	}

	@After
	public void tearDown() throws Exception {
	}

	@Test
	public void testAdd() {
		int rel=calculator.add(12, 22);
		assertEquals("加法有问题",rel,34);
	}

	@Test
	public void testMinus() {
		int rel=calculator.minus(24, 12);
		assertEquals("减法有问题",rel,12);
	}

	@Test
	public void testDivide() {
		int rel=calculator.divide(24, 12);
		assertEquals("除法有问题",rel,2);
	}

	@Test
	public void testMul() {
		int rel=calculator.mul(2, 12);
		assertEquals("乘法有问题",rel,24);
	}

}
7.在TestCalculator右击,选中Run As->JUnit Test

8.运行结果如下:

三、测试代码的放置

    三种放置方式:
    1、同一目录——针对小型项目
       假设有一个项目类,名字为
       com.test.business.Account
       相应的测试位于
       com.test.business.TestAccount
       即物理上存在于同一目录
      
       优点是TestAccount能够访问Account的protected成员变量和函数
       缺点是测试代码到处都是,且堆积在产品代码的目录中    2、子目录
       这个方案是在产品代码的目录之下创建一个test子目录
       同上,假设有一个项目类,名字为
       com.test.business.Account
       相应的测试位于
       com.test.business.test.TestAccount
     
       优点是能把测试代码放远一点,但又不置于太远
       缺点是测试代码在不同的包中,所以测试类无法访问产品代码中的protected成员,解决的办法是写一个产品代码的子类来暴露那些成员。然后在测试代码中使用子类。
      
       举一个例子,假设要测试的类是这样的:
       package com.test.business;
       public class Pool{
           protected Date lastCleaned;
           ....
       }
       为了测试中获得non-public数据,我们需要写一个子类来暴露它
       package com.test.business.test;
       import com.test.business.Pool;
       public class PoolForTesting extends Pool{
           public Date getLastCleaned(){
              return lastCleaned;
           }
           ....
       }



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值