java单元测试框架junit(重点,测试用例,对业务深刻的理解之上的)

测试用例不是证明你是对的,而是证明你没有错

测试用例用来达到想要的预期结果,但对于逻辑错误无能为力

作用:减少时间,提升代码质量

第一步:右键项目,选择new --->other

扫描二维码关注公众号,回复: 8892374 查看本文章

第二步:书写类

package com.ly.util;

public class Calculate {
	
	
	public int add(int a,int b) {
		return a+b;
	}
	public int subtract(int a,int b) {
		return a-b;
	}
	public int multiply(int a,int b) {
		return a*b;
	}
	public int divide(int a,int b) {
		return a/b;
	}

}

第三步:书写测试用例

package com.ly.util;

import static org.junit.Assert.*;

import org.junit.Test;

public class CalculateTest {

	
	@Test
	public void testAdd() {
		assertEquals(8, new Calculate().add(5, 3));
	}
	@Test
	public void testSubtract() {
		assertEquals(2, new Calculate().subtract(5, 3));
	}
	@Test
	public void testMultiply() {
		assertEquals(15, new Calculate().multiply(5, 3));
	}
	@Test
	public void testdevide() {
		assertEquals(1, new Calculate().divide(5, 3));
	}

}

junit的运行流程

测试套件的使用

junit参数化设置

package com.ly.util;

import static org.junit.Assert.assertEquals;

import java.util.Arrays;
import java.util.Collection;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
/**
 * 1、更改默认的测试运行器为RunWith(Parameterized.class)
 * 2、声明变量存放预期值和结果值
 * 3、声明一个返回值为Collection的公共静态方法,并使用@Parameters进行修饰
 * 4、为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值
 */
@RunWith(Parameterized.class)
public class ParameterTest {
	int expected=0;
	int input1=0;
	int input2=0;
	
	@Parameters
	public static Collection<Object[]> t(){
		return Arrays.asList(new Object[][] {
			{3,1,2},
			{4,2,2}
		});
	}
	public ParameterTest(int expected,int input1,int input2) {
		this.expected=expected;
		this.input1=input1;
		this.input2=input2;
	}
	@Test
	public void testAdd() {
		assertEquals(expected, new Calculate().add(input1,input2));
	}
}
发布了241 篇原创文章 · 获赞 145 · 访问量 15万+

猜你喜欢

转载自blog.csdn.net/Richard_666/article/details/103674973
今日推荐