Juit4整合SpringMVC,单元测试Controller

华为OD机试 - 跳房子I(Java 双机位A卷 100分) 可行的两步组合有 [1, 2] (索引和 0+3=3)、[1, 2] (索引和 0+4=4)、[4, 2] (索引和 1+3=4)、[4, 2] (索引和 1+4=5)、[5, 2] (索引和 2+3=5)、[5, 2] (索引和 2+4=6)。此样例有多种组合满足两回合跳到最后,譬如[-1,9], [2,6],其中[-1,9]的索引和为0+3=3, [2,6]的索引和为1+4=5, 所以索引和最小的步数组合为[-1,9].[3, 2] 和 [1, 4] 都满足和等于 5,且索引和均为 3。 阅读详情

1.说明:本文采用的Springboot的开发环境。一般对Service、DAO层的Juit的测试,相对简单,仅针对controller做探讨。

2.测试@ResponseBody,针对controller只放回数据进行测试

@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatisApplicationTests {

	@Autowired
	private UserController userController;

	private MockMvc mockMvc;

	@Before
	public void setUp() {
		mockMvc = MockMvcBuilders.standaloneSetup(userController)
				.build();			
	}
	@Test
	public void Ctest() throws Exception {
		ResultActions resultActions = this.mockMvc.perform(MockMvcRequestBuilders.post("/user/all"));
		MvcResult mvcResult = resultActions.andReturn();
		//获取请求响应的数据
		String result = mvcResult.getResponse().getContentAsString();
		System.out.println(mvcResult.getResponse().getStatus());
	}
}

3.测试MVC的类型

之前参照网上的例子,进行测试,发现出现了异常,但是诡异的是在浏览器却能正常运行,在配置文件里也设置了MVC的返回的视图地址,以及View的类型

javax.servlet.ServletException: Circular view path [add]: would dispatch back to the current handler URL [/user/add] again

查找了一些资料,分析原因是缺省转发,View name与path,Spring的转发规则,自己转给自己。

解决办法1:设置InternalResourceViewResolver,消除缺省转发所带来的问题

解决办法2:将请求的Url设置和与返回的view name不同,如上的只需将/user/add 修改成/user/save 即可解决,方法二修改起来更简单,但是需要根据项目的实际情况来选择,亲测两种方式都可用。

@RunWith(SpringRunner.class)
@SpringBootTest
public class MybatisApplicationTests {

	@Autowired
	private UserController userController;

	private MockMvc mockMvc;

	@Before
	public void setUp() {

		InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
		viewResolver.setPrefix("/WEB-INF/views/");
		viewResolver.setSuffix(".html");

		mockMvc = MockMvcBuilders.standaloneSetup(userController)
				.setViewResolvers(viewResolver)
				.build();
	}


	@Test
	public void Ctest() throws Exception {
		ResultActions resultActions = this.mockMvc.perform(MockMvcRequestBuilders.post("/user/all"));
		MvcResult mvcResult = resultActions.andReturn();
		ModelAndView modelandView = mvcResult.getModelAndView();
		//对比返回的视图
		ModelAndViewAssert.assertViewName(modelandView,"add");
		//打印返回的数据
		System.out.println(modelandView.getModel());

	}

}

玩转 InternVL3.5 轻量级实战:从部署到优化的全记录 阅读详情

相关推荐

产品必备技能(十):如何绘制原型图?先要绘制页面流程图+页面原型图!附实操原型图、流程图实例(抖音)

文章目录目标题目实操步骤模板实操【抖音】APP的视频发布功能页面流程绘制页面流程图合格标准绘制页面原型图合格标准 目标 新入行的产品经理都对原型抱有向往的心境,但是有经验的产品经理不会一上来就画原型,而是先画页面流程再来画原型。通过学习,你将学会如何用页面流程图规划用户行为路径、如何借助原型识别问题、减少风险、有效沟通。 题目 任意选择一款你喜欢的产品,体验某个功能,下载并梳理此功能至少5个以上的页面流程跳转点(后面会解释),还原2 - 3个主要界面的低保真原型图。 实操步骤 可使用手绘以及Process

汪雯琦的博客 4830

Junit4测试Controller

Controller层/** * 组织机构管理的处理 */ @Controller @RequestMapping("/system/dept") public class DeptController { /** * 组织机构管理服务 */ @Autowired private DeptService deptService; /**

Java兔的博客 8728

用UDP协议在dos命令行里模拟一个聊天程序

/* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C

s_x_x的记录 1955

Springboot项目中Controller层的单元测试

controller层的单元测试

有料,有味,很重要 1165

记录思科cisco交换机升级iso步骤

Cisco Nexus 93180交换机版本升级

a635161812的博客 4376

在 FlexSim 中建 AGV 小车模型时,如果设定“每次充电需要 2 小时才能充满”,应该如何配置 AGV 的充电功能?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值。

**My Coding Family** 879

SpringMVC + JUnit4 单元测试 - Controller 测试

SpringMVC + JUnit4 单元测试依赖普通测试Controller 测试创建 Controller 测试基类创建 Controller 单元测试类总结 依赖 只展示单元测试相关的部分 ssm/pom.xml <properties> <junit.version>4.12</junit.version> <spring.versi......

灵台方寸山斜月三星洞 5905

初探802.11协议(0)——PCF/DCF与CSMA/CA机制

IEEE802.11 CSMA/CA机制与DCF机制

FanFF的博客 4505

如何为 SpringMVC 编写单元测试:从配置开始

为 SpringMVC 编写测试用例通常被认为是既简单又复杂的。 虽然直接写调用Controller方法的测试用例不难,但问题在于这些测试用例不够全面。 例如,仅通过直接的方法调用我们测不到 Controller 的映射、校验和异常处理。 SpringMVC 提供给我们通过 DispathServlet 调用 Controller 方法的能力解决了这个问题。 这篇文章是本系列 SpringM

来啊 快活啊 6310

1、电路分析知识全解析:从基础到实践应用

本博客全面解析电路分析知识体系,涵盖从基础的电压、电流、电阻概念到复杂的交流电路、瞬态分析和高级应用如滤波器与变压器等内容。适合电子技术专业学生和技术爱好者学习,提供详细的知识结构、学习路径、实践示例以及丰富的学习资源,包括计算机模拟工具Multisim和PSpice的使用指导。通过理论与实践结合,帮助学习者掌握电路分析的核心技能,为电子工程和电力系统等相关领域打下坚实基础。

iii12的专栏 159

APP签名验证全栈破解:Frida Hook绕过+算法逆向+Python一键调用(附可运行脚本)

做过APP逆向和爬虫的同学,肯定都被签名验证折磨过:改了一行代码重新打包,APP直接闪退;抓包看到接口有个sign参数,翻遍JS找不到加密逻辑;好不容易找到加密函数,一调用就崩溃。客户端APK签名校验服务端接口签名验证。前者防止你篡改APP,后者防止你伪造请求。很多人卡在第一步,改完APK就闪退,根本没机会碰接口。本文基于真实项目实战,分享一套通用的签名验证破解方案。从客户端APK签名校验的Frida Hook绕过,到服务端sign算法的逆向还原,最后用Python实现一键调用。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 962

SpringMVC最小依赖+Junit单元测试+log解析(log4j及log4j2)

参考文献:http://blog.51cto.com/983836259/1864248 这里除了Spring以及其他模块所需要的jar包之外,还需要引入: spring-test-4.2.3.RELEASE.jar junit-4.10.jar 在maven中如下即可(版本管理略): &amp;amp;amp;amp;amp;amp;amp;amp;amp;amp;lt;!--junit 测试--&amp;amp;amp;amp;amp;amp;am

王小禾 3077

数字 IC 笔试面试必考点(1)FPGA 芯片架构

FPGA 芯片架构是非常重要的,如果你不了解 FPGA 芯片内部的详细架构,那么...

新芯设计的博客 2807

java单元测试之junit之实战

1 编写该文章的起因 博主是一枚小新,经常挖坑填坑。最近在工作中遇到了这样一种情况。某天小伙伴说博主写得一个方法有问题,并且相应的测试类也跑不通。博主一直秉着磨刀不误砍柴工的思想,测试类都是写得好好地并且能杠杠运行的!怀着好奇,经过一番debug,发现某句代码抛出了空指针,如下 String url = linkedService.getUrlById(id); getUrlById是通...

mcrwayfun,欢迎你 4万+

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

关于Spring MVC Controller 层的单元测试

关于Spring MVC Controller 层的单元测试 测试准备工作: 1、搭建测试Web环境 2、注入Controller 类 3、编写测试数据 测试数据的文件名一定要与测试类的文件名相同,比如测试数据BeanControllerTest.xml ,测试类 BeanControllerTest。 4、注入测试数据 转载于:https://www.cnblogs.co...

dengjuanshou7445的博客 143

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

商业软件项目搭建指南(SpringMVC篇)——第九章:项目单元测试开发

在本项目里进行开发单元测试,使用到的主体技术是Spring Boot Test、JUnit4和Mockito这三种,其中Spring Boot Test是用于启动Spring Boot和Spring上下文容器,JUnit4是用于编码单元测试用例和测试套件,Mockito是用于创建各种模仿对象。

frankhua的博客 499

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

如何在Spring MVC工程中进行单元测试

如何在Spring MVC工程中进行单元测试

gaohuanjie的专栏 2343

简单的SpringMvc单元测试

进行简单的单元测试,个人理解欢迎指正。 1.添加依赖 <!--spring-test,spring测试依赖--> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-test</artifactId> <version>5.3.16</version> </dependency> &

weixin_53402685的博客 2906

如何为Spring MVC项目编写单元测试?

为Spring MVC项目编写单元测试是一个重要的实践,它可以帮助确保代码的正确性和稳定性。

m0_73903000的博客 831

Spring MVC单元测试笔记整理

【代码】Spring MVC单元测试笔记整理。

yichengjie_c的博客 475

SpringMVC 单元测试

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34401479的博客 189

Spring MVC 单元测试学习

Spring MVC 单元测试学习 1.前言 这次来介绍下传统Spring MVC中对单元测试的整合使用,本篇会通过以下3点来介绍,基本满足日常需求: Dao层单元测试 Service层单元测试 Controller层单元测试 在单元测试中要尽量使用断言,本文所有的测试类都符合几个原则: 测试类卸载src/test/java目录下 测试类的包结构与被测试类的包结构相同 测试类的命名都是被测...

Little_fxc的博客 5767

JUnit 4 超详细教程(一)

JUnit 4 超详细教程1.介绍1.1.什么是JUnit?1.2.单元测试的好处1.3.JUnit 4 官网2.JUnit 4 的使用2.1.注解2.2.断言2.3.测试执行的顺序2.4.异常测试2.4.1.使用`assertThrows`方法2.4.2.Try/Catch 语句2.4.3.expected 参数和 @Test 注释一起使用2.4.4.预期异常规则2.5.忽略测试2.6.超时测试2.7.参数化测试2.8.assertThat和Matchers2.8.1.assertThat2.8.2.JU

个人技术栈 1万+

MockMvc探索—SpringMVC单元测试

MockMvc实现了对Http请求的模拟,能够直接使用网络的形式,转换到Controller的调用,这样可以使得测试速度快、不依赖网络环境,而且提供了一套验证的工具,这样可以使得请求的验证统一而且很方便。

qq_43842093的博客 1567

Spring MVC 单元测试

关键字:Spring MVC 单元测试 下面一步一步带领大家实现spring MVC 单元测试: 新建一个基类: package test; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.junit.Bef...

赵士杰的博客 275

java juit4测试,JUnit和TestNG:Java单元测试框架

目前,常用的 Java 单元测试框架是 JUnit 和在 JUnit 基础上进一步扩展的 TestNG。为了能很好地在 Maven 中完成测试案例的执行和形成测试报告,这里介绍一下怎样在 JUnit 和 TestNG 框架下编写测试代码。JUnit 单元测试框架JUnit 是由 Erich Gamma 和 Kent Beck 编写的一个回归测试框架,是一个开放源代码的 Java 测试框架,可以在它...

weixin_39865102的博客 414
上一篇: SpringAOP的应用实践之日志管理
下一篇: 前后端分离之Vue(一)环境配置
shenbug
博客等级 码龄10年 410粉丝 18原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值