Mock测试用例_测试用例库

Mock测试用例_测试用例库近期在重构一些旧项目,看到之前同事编写的测试用例是使用注入SpringJUnit4ClassRunner直接注册实现层然后测试需要操作的方法是否可运行。虽然这样说是可以达到测试的想法。但是如果要使用

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

近期在重构一些旧项目,看到之前同事编写的测试用例是使用注入SpringJUnit4ClassRunner 直接注册实现层然后测试需要操作的方法是否可运行。虽然这样说是可以达到测试的想法。但是如果要使用在入口的业务控制层,还要有预期的测试结果,那岂不是要写一大堆逻辑来验证了。。因此使用该方案是很笨重的,测试起来也麻烦。然而bug率还是没降低多少。。

Mock测试用例_测试用例库

因此引入mock来进行改造该测试用例,以业务控制层为切入点,断言预判是否符合结果。这样就达到测试的效果了。

import com.google.common.collect.Maps;
import lombok.extern.slf4j.Slf4j;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.autoconfigure.web.servlet.AutoConfigureMockMvc;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
import org.springframework.test.web.servlet.MockMvc;
import org.springframework.test.web.servlet.MvcResult;
import org.springframework.test.web.servlet.request.MockMvcRequestBuilders;

import java.util.Map;

import static junit.framework.TestCase.assertNotNull;
import static org.assertj.core.api.Assertions.assertThat;

@RunWith(SpringRunner.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@AutoConfigureMockMvc
@Slf4j
public class ApplicationTests {


    @Autowired
    protected MockMvc mvc;

    @Before
    public void init() {
        assertNotNull(mvc);
    }

    @Test
    public void signParamsMock() {
        Map params = Maps.newHashMap();
        params.put("catalogId", "1");
        params.put("user", "user");

        try {
//业务控制层,URI请求 MvcResult result
= mvc.perform(MockMvcRequestBuilders.post("/colorfulPay/signParams", params)).andReturn();
//断言预判结果是否返回包含true,若不符合,就抛出异常 assertThat(result.getResponse().getContentAsString()).contains(
"true"); log.info("result:{}", result.getResponse().getContentAsString()); } catch (Exception e) { e.printStackTrace(); } } }

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/166673.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • 冒泡排序(交换)

    冒泡排序(交换)

  • 电力负荷预测三篇综述总结

    电力负荷预测三篇综述总结对前面三篇关于负荷预测的综述论文进行一个总结。

  • mvc(1)——新建一个ASP.NET MVC项目

    mvc(1)——新建一个ASP.NET MVC项目一、新建一个空MVC项目  对于mvc的应用,我想第一步就应该是建立一个mvc项目了。废话不说了,直接上。  在“File(文件)”菜单中选择“New(新建)”——“Project(项目)”  打开“NewProject(新项目)”对话框。如果在左侧”VisualC#”目录树中选择”Web”模板,会看到”ASP.NETWebApplication(ASP.NETWeb应用程序)”项…

  • 苹果手机录屏软件_4款手机录屏软件推荐,你觉得哪款更好用?

    苹果手机录屏软件_4款手机录屏软件推荐,你觉得哪款更好用?随着智能与科技的迅速发展,现在国内外基本上用户都用上了手机。据相关数据统计,在2016年的时候,全球的手机用户量已经超过了26亿人次。在2020年之后,全球手机的用户量预计将超过36亿。而如此大的用户群体下面,手机的作用也不仅限于通讯,更多的是追剧娱乐。所以,录屏的需求也就比较多了。那么,手机录屏软件哪个好呢?小编认为:简单、好用是关键!所以今天这期就给大家推荐一波录屏软件!↓↓一、简单类手机录屏…

  • 【MySQL】多表查询

    【MySQL】多表查询首先,为了方便说明问题,创建两个表emp(雇员信息)和dept(雇员部门信息),其数据如下:在之前的博客中,我们分享了单表查询的方法,但是在实际应用中,我们要查的数据很可能不在同一个表中,而是来自于不同的表。多表查询如果不加任何条件,得到的结果称为笛卡尔积。例如,查找雇员名、雇员工资以及部门所在的名字。可以发现,结果是这样的,从第一个表中选出第一条记录,和第二个表中的所有所有记…

  • web UI自动化之PO模式

    web UI自动化之PO模式PO是什么:PO模式,PageObject的缩写,页面对象,设计框架的思想,分层思想在PO下,应用程序的每一个页面都有一个对应的pageclass每一个pageclass维护着该web页的元素集和操作这些元素的方法pageclass中的方法命名最好根据对应的业务场景进行,例如通常登录后我们需要等待几秒钟PO的优势:PO提供了一种业务流程与页面元素操作分离的模式,这使得测试代码变得更加清晰页面对象与用例分离,使得我们更好的复用对象可复用的页面方法代码会变得更加优化更加有效的命名

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号