service代码如下:

public class TestServiceImpl implements ITestService {
@Autowired
RestTemplate restTemplate; @Override
public String getUserName(String sid) {
String userName = "";
//拼接url
String url = "XXX";
JSONObject result = restTemplate.getForObject(url, JSONObject.class);
log.info("调用平台接口:{} ,返回参数为:{}", url, result.toJSONString());
//获取接口返回信息
if ("0000".equals(result.getString("code"))) {
if (result.getJSONObject("data") != null) {
user = result.getJSONObject("data").getString("user");
}
} else {
log.error("调用平台接口返回错误");
}
return userName;
}
}

下面,我们编写单元测试,代码如下:

@RunWith(SpringRunner.class)
@SpringBootTest(classes = SpringBootMain.class)
public class TestServiceImplTest extends BaseTest { @Mock
private RestTemplate restTemplate;
@InjectMocks
TestServiceImpl testService; /**
* 注入一个web应用环境(容器)
*/
@Resource
WebApplicationContext webApplicationContext;
// mvc 环境对象
public MockMvc mockMvc; @Before
public void init()throws Exception {
mockMvc = MockMvcBuilders.webAppContextSetup(webApplicationContext).build();
} @Test
public void testGetUserName() {
String res = "{\"code\":\"0000\",\"data\":{\"name\":\"test\"},\"message\":\"成功\"}";
Mockito.when(restTemplate.getForObject(Mockito.anyString(), Mockito.any())).thenReturn(JSONObject.parseObject(res));
testService.getUserName("test");
}

单元测试——Mock RestTemplate的更多相关文章

  1. 教育单元测试mock框架优化之路(下)

    转载:https://sq.163yun.com/blog/article/169563599967031296 四.循环依赖的解决 果然! 当我将@SpyBean应用到存在有循环依赖的Bean上时, ...

  2. 教育单元测试mock框架优化之路(上)

    转载:https://sq.163yun.com/blog/article/169561874192850944 众所周知,mock对于单元测试,尤其是基于spring容器的单元测试,是非常重要的.它 ...

  3. 单元测试mock框架——jmockit实战

    JMockit是google code上面的一个java单元测试mock项目,她很方便地让你对单元测试中的final类,静态方法,构造方法进行mock,功能强大.项目地址在:http://jmocki ...

  4. 单元测试 mock EF 中DbContext 和DbSet Include

    现在EF越来越流行了,很多时候业务成都是直接访问DbContext 和DbSet来操作数据的. 那么我们测试的时候如何来mock这2个对象了?现在时间很晚了, 就直接贴code吧 首先看看的我们DbC ...

  5. Mvc controller单元测试 Mock Url对象

    被测试Action 包含有Url对象的代码: data = new data { title = ds.Name, icon = "folder", attr = new { id ...

  6. 单元测试mock当前时间

    在实际项目中很多地方用到DateTime.Now,这个时间是时时变化的.如果要进行单元测试对比预期结果时,这个时间无法预测,可以添加如下两个时间类 namespace Common.Helper { ...

  7. 教育单元测试mock框架优化之路(中)

    转载:https://sq.163yun.com/blog/article/169564470918451200 三.间接依赖的bean的mock替换 对于前面提供的@Mock,@Spy+@Injec ...

  8. 基于spring与mockito单元测试Mock对象注入

    转载:http://www.blogjava.net/qileilove/archive/2014/03/07/410713.html 1.关键词 单元测试.spring.mockito 2.概述 单 ...

  9. 单元测试mock之mockito使用

    先来一个简单的例子来感受一下 外部接口类:TestService.java package com.yzl.mock; /** * 测试用服务 * * @author yangzhilong */ p ...

  10. Object-C单元测试&MOCK(摘录精选)

    断言测试类型: 下面一共18个断言(SDK中也是18个,其含义转自ios UnitTest 学习笔记,真心佩服原文的博主): XCTFail(format…) 生成一个失败的测试: XCTAssert ...

随机推荐

  1. 一组开源、免费、Metro风格的 WPF UI 控件库 - MahApps.Metro

    前言 今天大姚给大家分享一个开源.免费.Metro风格的 WPF UI 控件库:MahApps.Metro. 项目介绍 MahApps.Metro 是一个开源.免费.Metro风格的 WPF UI 控 ...

  2. ef 值转换与值比较器

    前言 简单介绍一下,值转换器和值比较器. 正文 为什么有值转换器这东西呢? 那就是这个东西一直必须存在. 比如说,我们的c# enum 对应数据库的什么呢? 是int还是string呢? 一般情况下, ...

  3. 2025春秋杯部分wpDAY1

    2025春秋杯 DAY1 WEB easy_flask 直接fenjing一把梭 file_copy 下载github上的脚本 MISC 简单算术 题目提示了异或 简单镜像提取 formost提取到镜 ...

  4. SQL SERVER日常运维(一)

    以下语句请使用SA用户或者有DBA权限的用户进行执行,否则可能会出现权限不足报错 一.基础命令 查看当前数据库的版本 SELECT @@VERSION; 查看服务器部分特殊信息 select SERV ...

  5. 探索未来之路,激发AI创新活力!“天翼云息壤杯”高校AI大赛北京区域赛开赛!

    近年来,人工智能发展速度之快.辐射范围之广令人瞩目.今年的<政府工作报告>提出,深化大数据.人工智能等研发应用,开展"人工智能+"行动.AI充满了无限可能和潜力,未来还 ...

  6. 目前get到最好用的内网穿透软件

    官网:https://www.natfrp.com/ 软件名称:SakuraLauncher 不花钱可以获取到两个隧道,如果不想花钱的话,每天签到领流量即可 之前用过cpolar,飞鸽,ngrok,但 ...

  7. ulimit命令 控制服务器资源

    命   令:ulimit功   能:控制shell程序的资源语 法:ulimit [-aHS][-c <core文件上限>][-d <数据节区大小>][-f <文件大 小 ...

  8. Maomi.MQ 2.0 | 功能强大的 .NET 消息队列通讯模型框架

    说明 作者:痴者工良 文档地址:https://mmq.whuanle.cn 仓库地址:https://github.com/whuanle/Maomi.MQ 作者博客: https://www.wh ...

  9. startup_stm32f10x_xx.s 启动代码文件的选择

    网上查到的各个文件的解释是: startup_stm32f10x_cl.s 互联型的器件startup_stm32f10x_hd.s 大容量startup_stm32f10x_hd_vl.s 大容量s ...

  10. 【ABAQUS&Composite】composite layerup Manager从txt导入铺层信息

    ABAQUS 在复合材料建模方面自由度是比较高的.官方提供了两个工具: ABAQUS/CAE中的Composite Layup Manager ABAQUS/CAE的plugin:Composites ...