junit单元测试,参数化设置

题目


被测类


public class java4 {
public String data(String x) {
	//判断x是否以字母开头,位数在2位以上
	//" ^ "是已什么开头,写法:”^[a-z]“意思是以a-z开头
	//”{2,}“意思是两位以上字符
	//”{0,9}“意思是9位字符以内
	if (x.matches("(^[a-z][a-zA-Z]{2,})$")){
		//x是否以ab开头
		if (x.startsWith("ab")){
			//将ab开头改为ef开头
			System.out.println(x.replaceFirst("ab", "ef"));
			return x.replaceFirst("ab", "ef");
		}
		//x不以ab开头,以cd结尾
		else if (!x.startsWith("ab")&&x.endsWith("cd")) {
			//将所有cd变换为gh
			System.out.println(x.replace("cd", "gh"));
			return x.replace("cd", "gh");
		}else {
			//将所有字母转换为大写
			System.out.println(x.toUpperCase());
			return x.toUpperCase();
		}
	}
	else {
		return null;
	}
}
}

测试类参数化设置

声明变量,测试数据和期望结果变量声明,包括测试类指定的特殊运行器

@RunWith(Parameterized.class)

public class java4Test {
java4 aa=new java4();
	
	String x;
	String y;

 公共的构造函数

public java4Test(String x,String y) {
		this.x=x;//输入数据
		this.y=y;//断言数据
	}

@Parameters注释的公共静态方法,并且包含初始化需要测试的数据

@Parameters
	public static Collection<Object[]>data() {
		return Arrays.asList(new Object[][]{
                //输入数据  //断言数据
				{"absesde","efsesde"},
				{"sdfcdcdcd","sdfghghgh"},
				{"sfdesfe","SFDESFE"}
		});
	}

 测试方法,包含断言

@Test
	public void test() {
		String ss=aa.data(x);
		assertEquals(y, ss);
	}

 完整测试代码

import static org.junit.Assert.*;
import static org.hamcrest.MatcherAssert.assertThat;
import static org.hamcrest.Matchers.*;

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;

//声明变量,测试数据和期望结果变量声明,包括测试类指定的特殊运行器部分代码
@RunWith(Parameterized.class)

public class java4Test {
java4 aa=new java4();
	
	String x;
	String y;
	
	//公共的构造函数部分
	public java4Test(String x,String y) {
		this.x=x;//输入数据
		this.y=y;//断言数据
	}
	
	//@Parameters注释的公共静态方法,并且包含初始化需要测试的数据
	@Parameters
	public static Collection<Object[]>data() {
		return Arrays.asList(new Object[][]{
				{"absesde","efsesde"},
				{"sdfcdcdcd","sdfghghgh"},
				{"sfdesfe","SFDESFE"}
		});
	}
	@Test
	public void test() {
		String ss=aa.data(x);
		assertEquals(y, ss);
	}
}

运行结果

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

□_□□_□

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值