问题的描述来自:
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.Parameterspublic 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);}@Testpublic 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.Parameterspublic 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);}@Testpublic 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参数化的问题解决相关推荐

  1. junit 参数化测试用例_JUnit:在参数化测试中命名单个测试用例

    junit 参数化测试用例 几年前,我写了有关JUnit参数化测试的文章 . 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败. 以下 ...

  2. java test20002_计算某天的下一天:黑盒测试之等价类划分+JUnit参数化测试

    题目要求 测试以下程序:该程序有三个输入变量month.day.year(month.day和year均为整数值,并且满足:1≤month≤12.1≤day≤31和1900≤year≤2050),分别 ...

  3. 参数化测试 junit_使用JUnit 5进行更清洁的参数化测试

    参数化测试 junit 参数化单元测试的总体思路是对不同的数据运行相同的测试方法. 在JUnit 4中创建参数化测试远非完美. 现有体系结构存在许多问题:将参数定义为类字段,并需要使用构造函数来创建它 ...

  4. junit测试spring_使用Spring JUnit规则进行参数化集成测试

    junit测试spring Spring 4.2附带了全新的JUnit规则: SpringClassRule和SpringMethodRule . 使用JUnit规则的主要优点是让开发人员摆脱Spri ...

  5. 参数化测试 junit_使用JUnitParams进行参数化的JUnit测试

    参数化测试 junit 参数化的单元测试用于在不同条件下测试相同的代码. 借助参数化的单元测试,我们可以建立一种测试方法,该方法从某个数据源中检索数据. 该数据源可以是测试数据对象,外部文件甚至数据库 ...

  6. 使用Spring JUnit规则进行参数化集成测试

    Spring 4.2附带了全新的JUnit规则: SpringClassRule和SpringMethodRule . 使用JUnit规则的主要优点是让开发人员摆脱SpringJUnit4ClassR ...

  7. JUnit:在参数化测试中命名单个测试用例

    几年前,我写了有关JUnit参数化测试的文章 . 我不喜欢它们的一件事是JUnit使用数字命名了单个测试用例,因此,如果它们失败,您将不知道是哪个测试参数导致了失败. 以下Eclipse屏幕快照将向您 ...

  8. 使用JUnit进行单元测试

    简介 JUnit 是一个 Java 编程语言的单元测试框架.JUnit 在测试驱动的开发方面有很重要的发展,是起源于 JUnit 的一个统称为 xUnit 的单元测试框架之一. 好处 可以书写一系列的 ...

  9. 【Java单元测试】如何进行单元测试、异常测试、参数化测试、超时测试、测试多线程

    Junit单元测试的步骤 (1)新建一个单元测试 (2)选择位置 (3)选择需要测试的方法 (4)是否将Junit 4添加到ClassPath中 (5)自动生成的测试类 (6) 然后就可以编写单元测试 ...

最新文章

  1. 01-CoreData 概述
  2. 技术圈鄙视链形成的真实原因?
  3. iphone相册怎么加密_iOS限免推荐|视频滤镜和转场、专属加密应用、照片动画等共 5 款...
  4. Flink读数据 addSource
  5. 1716.计算力扣银行的钱-LeetCode
  6. uniapp引入阿里图标库
  7. 2021年北京人大附中高考成绩查询,2021北京重点高中名单及排名
  8. 奥尼捷多功能证件包护照包证件夹男士卡包女士必备 A101 黑色【图片 价格 品牌 报价】-京东商城...
  9. VS2010添加WP模板
  10. 聚观早报 | 货拉拉入局跑腿业务;苹果任命首位首席人力资源官
  11. 011 MySQL性能分析
  12. 苍穹外卖-day02
  13. 【数据科学】05 数据合并(merge、concat、combine)与数据清洗(缺失值、重复值、内容和格式)
  14. 小白零基础教学:用自助BI工具搭建领导驾驶舱
  15. java计算机毕业设计邻里平台源代码+数据库+系统+lw文档
  16. 详解搜索引擎的工作原理
  17. 微信小程序之快递查询(完整版)
  18. MaxScript 编辑器 主题设置
  19. android图标为什么是机器人,安卓图标为什么是个机器人?让鸿蒙来告诉你
  20. [vscode] - 设置空格Whitespace的颜色

热门文章

  1. HTTP RANGE DOS 工具下载
  2. Android设置Activity透明背景样式
  3. 大数定理的MATLAB编程,用MATLAB模拟大数定律和中心极限定理
  4. 狂神springcloud速补笔记6
  5. MySQL8.0.11借助java程序实现增删等功能(跳坑记,功能待添加)
  6. PATL2_026 小字辈
  7. 如何查看db2默认SAMPLE数据库是否默认创建成功
  8. 准备蓝桥杯--dyx--特殊回文数
  9. 鸿蒙系统是基于linux开发的吗
  10. 外汇交易的最佳时间点