简单案例

@RunWith(Parameterized.class)

public class ParameterTest {

// 2.声明变量存放预期值和测试数据

private String firstName;

private String lastName;

//3.声明一个返回值 为Collection的公共静态方法,并使用@Parameters进行修饰

@Parameterized.Parameters

public static List param() {

// 这里我给出两个测试用例

return Arrays.asList(new Object[][]{{"Mike", "Black"}, {"Cilcln", "Smith"}});

}

//4.为测试类声明一个带有参数的公共构造函数,并在其中为之声明变量赋值

public ParameterTest(String firstName, String lastName) {

this.firstName = firstName;

this.lastName = lastName;

}

// 5. 进行测试,发现它会将所有的测试用例测试一遍

@Test

public void test() {

String name = firstName + " " + lastName;

System.out.println(name);

assertThat("Mike Black", is(name));

}

}

参数化在 测试controller 中的应用

@RunWith(Parameterized.class)

@SpringBootTest

public class LearnController14Test {

@Autowired

private WebApplicationContext wac;

private MockMvc mvc;

private MockHttpSession session;

public Long id;

public String title;

public LearnController14Test(Long id, String title) {

super();

this.id = id;

this.title = title;

}

/**

* 这些参数,都会测试一遍

*

* @return

*/

@Parameterized.Parameters

public static List data() {

return Arrays.asList(new Object[][]{{999L, "Black"}, {997L, "Smith"}});

}

@Before

public void setupMockMvc() throws Exception {

//借助TestContextManager来实现上下文注入

TestContextManager testContextManager = new TestContextManager(getClass());

testContextManager.prepareTestInstance(this);

//初始化MockMvc对象

mvc = MockMvcBuilders.webAppContextSetup(wac).build();

//构建session

session = new MockHttpSession();

User user = new User("root", "root");

//拦截器那边会判断用户是否登录,所以这里注入一个用户

session.setAttribute("user", user);

}

/**

* 获取教程测试用例

*

* get 请求

*

* @throws Exception

*/

@Test

public void qryLearn() throws Exception {

mvc.perform(MockMvcRequestBuilders.get("/learn/resource/" + id + "?title=" + title)

.contentType(MediaType.APPLICATION_JSON_UTF8)

.accept(MediaType.APPLICATION_JSON_UTF8)

.session(session)

)

.andExpect(MockMvcResultMatchers.status().isOk())

.andDo(MockMvcResultHandlers.print());

}

}

springboot 单测加入参数_spring-boot-单元测试参数数相关推荐

  1. mybatis 不生效 参数_Spring Boot(七):你不能不知道的Mybatis缓存机制

    缓存的重要性是不言而喻的.使用缓存, 我们可以避免频繁的与数据库进行交互, 尤其是在查询越多.缓存命中率越高的情况下, 使用缓存对性能的提高更明显. 同样地,mybatis作为ORM框架,也必然会支持 ...

  2. springboot 单测加入参数_Spring Boot集成Elasticsearch实战分享

    作者|java梦想口服液|简书 最近有读者问我能不能写下如何使用 Spring Boot 开发 Elasticsearch(以下简称 ES) 相关应用,今天就讲解下如何使用 Spring Boot 结 ...

  3. springboot上传文件同时传参数_Spring Boot 系列:使用 Spring Boot 上传文件

    上传文件是互联网中常常应用的场景之一,最典型的情况就是上传头像等,今天就带着带着大家做一个 Spring Boot 上传文件的小案例. 1.pom 包配置 我们使用 Spring Boot 版本 2. ...

  4. springboot传入json和文件_Spring Boot之 Controller 接收参数和返回数据总结(包括上传、下载文件)...

    server: port: 8088 servlet: context-path: /sid spring: mvc: view: prefix: / suffix: .html /** * 返回界面 ...

  5. springboot定时发送短信_spring boot 1.5.4 定时任务和异步调用(十)

    1Spring Boot定时任务和异步调用 我们在编写Spring Boot应用中经常会遇到这样的场景,比如:我需要定时地发送一些短信.邮件之类的操作,也可能会定时地检查和监控一些标志.参数等. sp ...

  6. springboot 事务手动回滚_Spring Boot中的事务是如何实现的

    1. 概述 一直在用SpringBoot中的@Transactional来做事务管理,但是很少想过SpringBoot是如何实现事务管理的,今天从源码入手,看看@Transactional是如何实现事 ...

  7. springboot oauth2登录成功处理器_Spring Boot Security 整合 OAuth2 设计安全API接口服务...

    简介 OAuth是一个关于授权(authorization)的开放网络标准,在全世界得到广泛应用,目前的版本是2.0版.本文重点讲解Spring Boot项目对OAuth2进行的实现,如果你对OAut ...

  8. i18n调用自己参数_Spring Boot :I18N

    什么是 I18N I18N 是 "国际化" 的简称,对于程序来说,在不修改内部代码的情况下,根据不同语言及地区显示相应的界面 Spring Boot 结合 I18N 1. Spri ...

  9. bean validation校验方法参数_Spring Boot 之使用 validation 验证参数

    前言 文本已收录至我的GitHub仓库,欢迎Star:https://github.com/bin392328206/six-finger种一棵树最好的时间是十年前,其次是现在 我知道很多人不玩qq了 ...

最新文章

  1. python语言的实验心得体会范文_实验报告个人心得体会范文
  2. Asp.net内置对象之Cookies
  3. 实验六 Linux进程编程,Linux系统编程实验六:进程间通信
  4. linux系统python 2.6 安装pip_详解CentOS升级Python2.6到Python2.7并安装pip
  5. HTML禁用Flash文件右键
  6. Qt4_IconEditor窗口部件
  7. 物联网火爆,开发者遇到大难题了!
  8. C++中的L和_T()
  9. ASP.NET - 网页重定向 Response.Redirect()
  10. android 5.1 改mac地址,mac地址可以随便改吗
  11. 美团外卖uml流程图_以美团外卖为例,区别业务流程图和页面流程图
  12. Struts2实现文件上传和下载
  13. 置液晶显示器的台式计算机,台式电脑液晶显示器的底座的制作方法
  14. NVIDIA Jetson TK1 rosrun rviz segmentation fault的解决方法
  15. Java 绘制带圆角头像的二维码
  16. (纯小白)Python简单爬取图片
  17. arduino蜂鸣器控制
  18. 武汉经开区2021年知识产权资助(奖励)资金开始申报
  19. 【Linux】复制文件到当前目录 复制文件并重命名到当前目录
  20. Upload 上传:图片上传

热门文章

  1. 长寿的十个秘诀 至少选择一个坚持实施
  2. 成功人士都是这样逼出来的
  3. vuex 最简单、最详细的入门文档
  4. Hibernate 自动创建表
  5. JAVA自学笔记08
  6. Jmeter(三)_配置元件
  7. strcpy与strcat函数原型
  8. Sublime 插件- px 转rem
  9. osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解
  10. C语言指针学习(续)