java百里香_百里香Spring测试的意见
java百里香
我最近在基于Spring的Web应用程序中转换为thymeleaf以进行视图模板化,而不是jsp。 百里香叶文档中关于为什么百里香叶在jsp上为什么能保持水分的所有争论,我肯定被卖掉了。
除了能够预览模板之外,对我来说,主要原因之一是视图在运行时的呈现方式。 尽管应用程序堆栈必须将jsp的呈现推迟到servlet容器,但它可以完全控制thymeleaf模板的呈现。 为了进一步说明这一点,使用jsp作为视图技术,应用程序仅返回jsp的位置,并且取决于servlet容器来呈现jsp。
那么,为什么这又是一个重要原因–因为在spring-test模块中使用了mvc测试支持 ,所以现在可以声明实际呈现的内容,而不仅仅是视图的名称。
考虑一个示例Spring MVC控制器:
@Controller
@RequestMapping("/shop")
public class ShopController {...@RequestMapping("/products")public String listProducts(Model model) {model.addAttribute("products", this.productRepository.findAll());return "products/list";}
}
如果该视图基于jsp,我将进行如下测试:
@RunWith(SpringJUnit4ClassRunner.class)
@WebAppConfiguration
@ContextConfiguration(classes = SampleWebApplication.class)
public class ShopControllerWebTests {@Autowiredprivate WebApplicationContext wac;private MockMvc mockMvc;@Beforepublic void setup() {this.mockMvc = MockMvcBuilders.webAppContextSetup(this.wac).build();}@Testpublic void testListProducts() throws Exception {this.mockMvc.perform(get("/shop/products")).andExpect(status().isOk()).andExpect(view().name("products/list"));}
}
断言仅在视图名称上。
现在,考虑使用百里香叶作为查看技术的测试:
@Test
public void testListProducts() throws Exception {this.mockMvc.perform(get("/shop/products")).andExpect(status().isOk()).andExpect(content().string(containsString("Dummy Book1")));
}
在这里,我断言实际的渲染内容。
这确实很好,但是使用jsp时,我必须验证使用真实容器在运行时正确渲染了jsp,而使用thymeleaf,我可以仅使用测试来验证渲染是否干净。
翻译自: https://www.javacodegeeks.com/2014/04/spring-test-with-thymeleaf-for-views.html
java百里香
java百里香_百里香Spring测试的意见相关推荐
- spring 加载java类_在Spring中基于Java类进行配置的完整步骤
在Spring中基于Java类进行配置的完整步骤 发布于 2020-7-7| 复制链接 基于Java配置选项,可以编写大多数的Spring不用配置XML,下面 前言JavaConfig 原来是 Spr ...
- 百里香Spring测试的意见
我最近将其转换为thymeleaf ,以便在基于Spring的Web应用程序中进行视图模板化,而不是jsp. 百里香叶文档中所有关于为什么百叶香叶在jsp上为何能保持水分的争论都被我肯定了. 除了能够 ...
- 事件驱动java实现_基于spring实现事件驱动
通过阅读该篇博客,你可以了解了解java的反射机制.可以了解如何基于spring生命周期使用自定义注解解决日常研发问题.具体源码可以点击 链接 . 问题描述 在日常研发中,经常会遇见业务A的某个act ...
- java重新定义_重新定义Spring Cloud实战 PDF 下载
资料目录: 前言 第1章 微服务与SpringCloud1 1.1 微服务架构概述1 1.1.1 应用架构的发展1 1.1.2 微服务架构3 1.1.3 微服务解决方案4 1.2 Spring Clo ...
- eclipse java敏捷_基于Spring+Hibernate+Eclipse进行敏捷Java开发(2)
敏捷绘图 在继续下面的讨论前,请允许我简短地介绍一种新颖而相当简单的技术-敏捷绘图:我正是借助于它绘制了上面的图3-7.这一技术成为略显"笨重"的统一建模语言(UML)的一种替代, ...
- Java毕业设计_基于spring的一汽大众4s店汽车销售系统的设计与实现
基于spring的一汽大众4s店汽车销售系统的设计与实现 基于spring的一汽大众4s店汽车销售系统的设计与实现mysql数据库创建语句 基于spring的一汽大众4s店汽车销售系统的设计与实现or ...
- Spring简化Java开发_第1章—Spring之旅—简化Spring的java开发
简化Spring的java开发 1.1简介 区别于EJB的特性 简化javaBean,为了降低java开发的复杂性,Spring采取了以下4种关键策略: 基于POJO的轻量级和最小入侵性编程 通过依赖 ...
- java小马哥百度网盘_思否编程(小马哥):Java 微服务实践 - Spring Boot / Spring Cloud全套,完整版下载 - VIPC6资源网...
小马哥 Java 微服务实践 – Spring Boot 系列 pptx segmentfault-lessons-master 03Java 微服务实践 – Spring Boot 系列(三)Web ...
- java小马哥百度网盘_小马哥spring boot和spring cloud系列
资源内容: 小马哥spring boot和spring cloud系列|____小马哥 Java 微服务实践 - Spring Boot 系列 |____pptx ...
最新文章
- 一文读懂机器学习“数据中毒”
- mysql去除字符串首的非字母_如何从SQLServer中的字符串中删除所有非字母字符?...
- Javascript中字符串转数字
- html 商品展示框
- linux系列之: 你知道查看文件空间的两种方法吗?
- C#宿舍管理系统数据表文档分析含释义
- rcp rapido_Rapido使用数据改善乘车调度
- 众成翻译2.0上线,翻译即有机会获赠图书
- 特斯拉上海超级工厂汽车年产量已达到45万辆
- 一些用于拥挤场景的异常检测的视频数据集
- leetcode专题训练笔记
- 类似新浪微博和google图片的HTML5实现图片拖拽上传功能
- DNS 正向查找与反向查找
- Python如何使用生成器得到斐波那契数列
- spark 两个rdd求交集,差集,并集
- 【TSP】基于matlab遗传和模拟退火算法求解中国省会城市旅行商问题【含Matlab源码 1254期】
- discuz 论坛DIY增加{lastposter}最后回复者以及{forumicon}版块图标调用解读
- iphone模拟器上模拟内存警告
- 愿天下有情人都是失散多年的兄妹(25 分)
- 台前与幕后的5G战争