在Eclipse中使用Junit

1、准备测试类

java 复制代码
public class Calculator {
	private static int result;
	public void add(int n) {
		result = result + n;
		}	
	public void substract(int n) {
		result = result -1; //Bug:正确的应该是result=result-n
	}
	public void multiply(int n) {
		// result = result*n;方法未写好
	}
	public void divide (int n) {
		result = result/n;
	}
	public void squre(int n) {
		result = n * n;
	}
	public void squareRoot(int n) {
		for(;;)
			;//Bug:死循环
	}
	public void clear() {
		result = 0;
	}	
	public int getResult() {
		return result;
	}
}

2、引入Junit测试包

此时Junit包已经加载在项目下

3、构建Junit框架

这样就构建test包,一般test包和src源码包分别放在不同的文件夹中。

创建Junit测试类

就会生成一个默认的测试框架

最后对测试框架进行简单的编写

java 复制代码
import static org.junit.Assert.*;

import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;

public class TestCaculator {
	private static Calculator calcultor = new Calculator();
	
	@Before
	public void setUp() throws Exception {
		calcultor.clear();
	}

	@Test
	public void testAdd() {
		calcultor.add(2);
		calcultor.add(3);
		assertEquals(5, calcultor.getResult());
	}

	@Test
	public void testSubstract() {
		calcultor.add(10);
		calcultor.substract(2);//因为每次运行测试方法前,都会运行setUp()进行清空,所以互不影响
		assertEquals(8, calcultor.getResult());
	}

	@Ignore("Mutiply not yet implemented")
	@Test
	public void testMultiply() {
		
	}

	@Test
	public void testDivide() {
		calcultor.add(10);
		calcultor.divide(5);
		assertEquals(2, calcultor.getResult());
	}

}

这就是Junit4在eclipse中的测试用例编写和运行的过程

相关推荐
苏瞳儿9 分钟前
java对数据库的增删改查
java·数据库·oracle
Greyson13 小时前
Layui表格如何使用第三方插件实现树形展示.txt
jvm·数据库·python
2401_871696524 小时前
mysql行级锁失效的原因排查_检查查询条件与执行计划
jvm·数据库·python
Elastic 中国社区官方博客4 小时前
Elasticsearch:快速近似 ES|QL - 第一部分
大数据·运维·数据库·elasticsearch·搜索引擎·全文检索
Dontla4 小时前
高基数(High Cardinality)问题介绍(Prometheus、高基数字段、低基数字段)
前端·数据库·prometheus
a9511416424 小时前
CSS如何实现元素隐藏不占位_使用display-none完全移除
jvm·数据库·python
SelectDB技术团队5 小时前
SelectDB Enterprise 4.0.5:强化安全与治理,构建企业级实时分析与 AI 数据底座
数据库·人工智能·apache doris
一 乐5 小时前
医院挂号|基于springboot + vue医院挂号管理系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·医院挂号管理系统
ego.iblacat6 小时前
Redis 核心概念与部署
数据库·redis·缓存
m0_493934536 小时前
如何监控AWR数据收集Job_DBA_SCHEDULER_JOBS中的BSLN_MAINTAIN_STATS
jvm·数据库·python