首页 > 其他分享 >创建参数化测试

创建参数化测试

时间:2023-01-31 19:34:25浏览次数:45  
标签:Parameters parameters int 创建 参数 测试 import junit

在本节中,我们将学习如何创建参数测试。为此,我们将使用前面章节中提供的一个公共方法添加整数。因此,这是要进行的测试类。

但是,一个测试类也可以被看作是一个参数化测试类?当然,但它要满足下列所有要求:

  • 该类被注解为 @RunWith(Parameterized.class).
    如前一节中所说明的, @RunWith 注解让JUnit来调用其中的注释来运行测试类,代替使用内置的JUnit运行器,Parameterized 是一个在JUnit内的运行器将运行相同的测试用例组在不同的输入。
  • 这个类有一个构造函数,存储测试数据。
  • 这个类有一个静态方法生成并返回测试数据,并注明@Parameters注解。
  • 这个类有一个测试,它需要注解@Test到方法。

现在,我们将创建一个名为 CalculateTest.java 的一个新的测试类, 遵循上述指导原则。这个类的源代码如下。


CalculateTest.java




package com.yiibai.junit;

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;

@RunWith(Parameterized.class)
public class CalculateTest {

private int expected;
private int first;
private int second;

public CalculateTest(int expectedResult, int firstNumber, int secondNumber) {
this.expected = expectedResult;
this.first = firstNumber;
this.second = secondNumber;
}

@Parameters
public static Collection addedNumbers() {
return Arrays.asList(new Integer[][] { { 3, 1, 2 }, { 5, 2, 3 },
{ 7, 3, 4 }, { 9, 4, 5 }, });
}

@Test
public void sum() {
Calculate add = new Calculate();
System.out.println("Addition with parameters : " + first + " and "
+ second);
assertEquals(expected, add.sum(first, second));
}
}

 

正如我们观察上面的类,它满足上述所有要求。

addedNumbers方法使用注释@Parameters返回数组的集合。

每个数组包括每个测试执行输入/输出数字。每个数组中的元素数必须相同以在构造参数的数目。

所以,在这种特定的情况下,每个数组包括三个元素,即表示要加入的数字两个元素和一个元素结果。

如果我们运行 CalculateTest 测试用例,控制台输出如下:

 
Addition with parameters : 1 and 2
Adding values: 1 + 2
Addition with parameters : 2 and 3
Adding values: 2 + 3
Addition with parameters : 3 and 4
Adding values: 3 + 4
Addition with parameters : 4 and 5
Adding values: 4 + 5

正如我们在输出中看到,测试用例被执行4次,这是在方法的输入注解为@Parameters的数量。



 



标签:Parameters,parameters,int,创建,参数,测试,import,junit
From: https://www.cnblogs.com/cnetsa/p/17080275.html

相关文章

  • 测试测试
    前言openpyxl是python的一个用于操作excle文件的第三方包。openpyxl相对于已经经常用的xlrd、xlwt等操作的excle的第三方包来说,功能更加的丰富,不仅可以对excle进行读写,还......
  • vue创建项目
    空格键是选中与取消,A键是全选TypeScript支持使用TypeScript书写源码ProgressiveWebApp(PWA)SupportPWA支持。Router支持vue-router。Vuex支持vuex。C......
  • 软件测试|Selenium常见api
    Selenium常用APIWebDriver常用API打开浏览器用法:​​driver.get()​​driver=webdriver.Chrome()#打开浏览器driver.get("https://www.baidu.com/")设置浏览器最大化用......
  • 接口测试|postman发送POST请求
    Postman发送POST请求postman发送POST请求示例:微信公众平台创建用户标签接口,业务操作如下:1、打开微信公众平台,微信扫码登录:​​https://mp.weixin.qq.com/debug/cgi-bin/sand......
  • 接口测试|postman模拟请求头&界面的响应信息
    ## postman模拟请求头&界面的响应信息### postman模拟请求头页面访问请求(get方法):https://www.baidu.com/s?wd=猫  该https请求在页面上可以进行根据最后的关键字参数进......
  • 接口测试|Postman持久化保存
    Postman持久化保存postman持久化保存1、点击postman的Collections页签,点击+NewCollection创建(可以当成项目并重命名)2、新增后,再点击Collection中的“...”,然后点击“......
  • 接口测试|Postman设置断言
    Postman设置断言作为一款接口测试工具,postman需要对发送请求后返回的结果是否正确做验证,在postman中通过tests页签做请求的验证,也称为断言。Postman设置断言的流程在tests......
  • 单元测试|unittest生成测试报告
    unittest生成测试报告测试报告为测试结果的统计即展示,是自动化测试不可或缺的一部分,利用unittest可以生成测试报告。使用第三方HTMLTestRunner执行测试用例集,生成网页版......
  • 接口测试|Fiddler介绍以及安装
    Fiddler介绍以及安装Fiddler简介Fiddler是比较好用的web代理调试工具之一,它能记录并检查所有客户端与服务端的HTTP/HTTPS请求,能够设置断点,篡改及伪造Request/Response的数据......
  • 接口测试|Fiddler界面主菜单功能介绍(一)
    Fiddler界面主菜单功能介绍File菜单File菜单中的命令主要支持完成通过Fiddler来启动和停止web流量的捕获(capture),也可以加载或存储捕获的流量(1)CaptureTraffic:默认勾选,勾选......