关于testhome junit参数化的问题解决
来源:互联网 发布:公知引发社会动荡 编辑:程序博客网 时间:2024/05/23 15:41
问题的描述来自:
https://testerhome.com/topics/9295
问题的描述是无法获取参数化, 我也心血来潮,自己花了几分钟改正问题
@RunWith(Parameterized.class)public class ResultParamTest { private int actCode; private String actMessage; private int expCode; private String expMessage; public ResultParamTest(int expCode, int actCode, String expMessage, String actMessage) { this.expCode = expCode; this.actCode = actCode; this.expMessage = expMessage; this.actMessage = actMessage; } @Parameterized.Parameters public static Collection prepareData() throws IOException { ResultParam resultParam = new ResultParam("test_case.xlsx", 0); ArrayList<Integer> a = resultParam.expCode(); ArrayList<Integer> b = resultParam.actCode(); ArrayList<String> c = resultParam.expMessage(); ArrayList<String> d = resultParam.actMessage(); Object[][] objects = {{a.get(0), b.get(0), c.get(0), d.get(0)}, {a.get(1), b.get(1), c.get(1), d.get(1)},........{}....{}}; return Arrays.asList(objects); } @Test public void testResultParam() throws IOException { Assert.assertEquals(expCode, actCode); Assert.assertEquals(expMessage, actMessage); }}
改正后的代码:
package com.mj;import static org.junit.Assert.*;import java.util.ArrayList;import java.util.Arrays;import java.util.Collection;import junit.framework.Assert;import org.junit.After;import org.junit.Before;import org.junit.Test;import org.junit.runner.RunWith;import org.junit.runners.Parameterized;@RunWith(Parameterized.class)public class CalculatorTest { private int actCode; private String actMessage; private int expCode; private String expMessage; public CalculatorTest(int expCode, int actCode, String expMessage, String actMessage) { this.expCode = expCode; this.actCode = actCode; this.expMessage = expMessage; this.actMessage = actMessage; } @Parameterized.Parameters public static Collection prepareData() { ArrayList<Integer> a = new ArrayList<Integer>(); ArrayList<Integer> b = new ArrayList<Integer>(); ArrayList<String> c = new ArrayList<String>(); ArrayList<String> d = new ArrayList<String>(); // 五个正常用例 for (int i = 0; i < 5; i++) { a.add(i); b.add(i); c.add("正确" + i); d.add("正确" + i); } // 五个非正常用例 for (int i = 0; i < 5; i++) { a.add(i); b.add(i + 1); c.add("正确" + i); d.add("错误" + (i + 1)); } int size = a.size() - 1; Object[][] objList = new Object[size][4]; for (int i = 0; i < objList.length; i++) { objList[i][0] = a.get(i); objList[i][1] = b.get(i); objList[i][2] = c.get(i); objList[i][3] = d.get(i); } return Arrays.asList(objList); } @Test public void test() { System.err.println("expCode is " + expCode + " actCode is " + actCode + " expMessage is " + expMessage + " actMessage is " + actMessage); assertEquals(expCode, actCode); assertEquals(expMessage, actMessage); }}
运行打印数据:
expCode is 0 actCode is 0 expMessage is 正确0 actMessage is 正确0
expCode is 1 actCode is 1 expMessage is 正确1 actMessage is 正确1
expCode is 2 actCode is 2 expMessage is 正确2 actMessage is 正确2
expCode is 3 actCode is 3 expMessage is 正确3 actMessage is 正确3
expCode is 4 actCode is 4 expMessage is 正确4 actMessage is 正确4
expCode is 0 actCode is 1 expMessage is 正确0 actMessage is 错误1
expCode is 1 actCode is 2 expMessage is 正确1 actMessage is 错误2
expCode is 2 actCode is 3 expMessage is 正确2 actMessage is 错误3
expCode is 3 actCode is 4 expMessage is 正确3 actMessage is 错误4
因为我对群友的业务不熟悉,加上我没有 ResultParam resultParam = new ResultParam("test_case.xlsx", 0); 这个类的代码,我就自己制作了点数据。
其实这里我只是简单的测试,应该用等价类,边界值加上点数据的,只是在上班时间,顺带赶紧记录下。
- 关于testhome junit参数化的问题解决
- JUnit参数化的例子
- Junit参数化测试的使用方法
- JUnit的理论机制、参数化测试
- JUnit 4的参数化测试
- JUnit参数化单元测试
- Junit 4 参数化
- junit参数化测试
- Junit参数化设置
- junit参数化测试
- 关于junit的疑问
- 关于JUnit 的笔记
- 关于HttpClient模拟浏览器请求的参数乱码问题解决方案
- 关于Selector方法需要多个参数的问题解决方法
- 关于ajax post请求,参数过大产生的问题解决 Java
- 11.23关于微信JSAPI缺少参数的问题解决
- 关于HttpClient模拟浏览器请求的参数乱码问题解决方案
- junit测试出现的小问题解决方案
- 如何选择开发语言或者开发工具
- Lua游戏逆向及破解方法介绍
- python 之基础编程(一)
- 代码如何识别汉字
- ARPG游戏的战斗系统设计
- 关于testhome junit参数化的问题解决
- 亚马逊AWS学习-创建EC2 windows
- 关于java.lang.IllegalArgumentException: View not attached to window manager 错误的分析
- 2、标记分类、属性及常见标记
- Java Web学习--获取Cookie报错An invalid character [32] was present in the Cookie value
- Map的负载因子loadFactor
- 软件公司绩效考核(大家提提建议)
- 一个典型的SaaS模式需要的三种计算模型支撑
- 舍得-有舍才有得