首页
学习
活动
专区
工具
TVP
发布

丑胖侠

个人博客地址:www.choupangxia.com
专栏成员
716
文章
1292827
阅读量
76
订阅数
Maven管理的Spring Web项目集成JUnit单元测试
JUnit是一套优秀的单元测试框架,而Maven是优秀的Java项目构建和管理工具,两者结合可以很方便地对项目进行自动化测试。   一般的简单Java应用就不多说了,一些框架会提供针对junit的扩展,使得测试变得更容易,例如Spring官方就提供了spring-test,用于提供获取ApplicationContext等方面的支持。   首先要做的是,改变JUnit的实际执行类,将默认的执行类Suite替换为Spring提供的SpringJUnit4ClassRunner,也就是在测试类前面加上一个注解:   @RunWith(SpringJUnit4ClassRunner.class)   然后,我们需要告诉这个测试类Spring配置文件的位置: @ContextConfiguration(locations={“classpath:applicationContext.xml”, “classpath:applicationContext-security.xml”,”file:src/main/webapp/WEB-INF/servlet.xml”})   笔者这里展示了两种配置文件路径的写法。前两个是spring常见的配置文件,放在classpath根目录下,而“file”开头的路径是完全限定路径,默认是相对于实际的项目路径的,例如笔者使用Eclipse进行开发,这个路径的写法是相对于项目文件所在文件夹的根目录的。该写法适用于没有直接放在classpath下的一些web相关的配置文件,例如本例展示的就是放在常见的WEB-INF目录下的一个文件。   基于以上描述,笔者写了一个Spring测试基类: package com.test.basic; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.junit.Before; import org.junit.runner.RunWith; import org.springframework.test.context.ContextConfiguration; import org.springframework.test.context.junit4.SpringJUnit4ClassRunner; @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={/“file:src/main/webapp/WEB-INF/wxiot-servlet.xml”,/ “classpath:applicationContext.xml”, “classpath:applicationContext-security.xml”}) public classTestBase { protected Log logger = LogFactory.getLog(TestBase.class); @Before //一些公用的“初始化”代码 public void before(){ } }
程序新视界
2022-11-30
5230
IDEA 创建Maven Web项目
公司有一个非常老的项目,决定进行简单重构,纳入自动化流水线部署的序列。原项目采用很古老的Jar包依赖模式,也就是直接将jar包放在项目中。同时,项目结构也非常奇特,不是标准的Web项目目录结果。
程序新视界
2022-07-29
1.1K0
Spring注解之@Configuration和@Bean使用详解
Spring3.0之前要使用Spring必须要有一个xml配置文件,而Spring3.0之后注解慢慢登上舞台,通过注解@Configuration和@Bean可以完全搞定。此时,注解和xml配置形成了相互协作与竞争的关系。随着Springboot的推广,注解的使用在Spring中大放光彩,xml的辉煌一去不返。通过注解,简化了配置,提升了编码效率。
程序新视界
2022-05-09
2.2K0
你可能使用了Spring最不推荐的注解方式
使用Spring框架最核心的两个功能就是IOC和AOP。IOC也就是控制反转,我们将类的实例化、依赖关系等都交由Spring来处理,以达到解耦合、利用复用、利于测试、设计出更优良程序的目的。而对用户来说,操作最对的便是注解。在Spring中提供了三类注解方式,下面我们就逐一分析。最后,你会发现,你最常用、看起来最方便的形式确实最不推荐的一种形式。
程序新视界
2022-05-09
2350
Maven常见操作命令
最近在基于Maven构建自动化发布流水线,发现当项目多、项目之间依赖多时,了解Maven的命令使用,真是如虎添翼。特为大家整理了一套Maven常见命令及使用小技巧。建议收藏,甚至打印出来放在办公桌以备快速使用。
程序新视界
2022-05-06
5630
数据库时间慢了14个小时,Mybatis说,这个锅我不背~
同事反馈一个问题:Mybatis插入数据库的时间是昨天的,是不是因为生成Mybatis逆向工程生成的代码有问题?
程序新视界
2021-12-07
2.3K1
隐藏了2年的Bug,终于连根拔起,悲观锁并没有那么简单
接手的新项目,接二连三的出现账不平的问题,作为程序员中比较执着的人,不解决誓不罢休。最终,经过两次,历时多日终于将其连根拔起。实属不易,特写篇文章记录一下。
程序新视界
2021-12-07
5110
Maven中optional和scope元素的使用,你弄明白了?
在梳理项目的过程中发现很多开发同学对Maven依赖文件的配置并不了解,特别是对Maven的optional元素和scope元素的使用也非常随意。这就会导致发布的jar包或war包非常“胖”、编译速度慢,而且还很容易生产jar冲突等问题。本篇文章从optional和scope的使用场景入手,让项目实现一波瘦身。
程序新视界
2020-12-03
6.6K0
SpringBoot下的策略模式,消灭了大量的ifelse,真香!
项目中有这样一个场景,在公园放置了用来拍摄人像的识别杆,根据用户在不同识别杆之间采集的图象来计算用户的运动距离。由于涉及到许多公园,每个公园的布局不同,识别杆之间距离不同,算法也不同。但代码中每个不同的公园的算法区别都采用ifelse来进行判断处理。
程序新视界
2020-10-29
2.8K0
基于Spring Boot快速实现发送邮件功能
邮件在项目中经常会被用到,比如用邮件发送通知。比如,通过邮件注册、认证、找回密码、系统报警通知、报表信息等。本篇文章带大家通过SpringBoot快速实现一个发送邮件的功能。
程序新视界
2020-08-20
9540
面试:说说Java反射中获取Class对象三种方式的区别?
在上篇文章《一篇文章全面了解Java反射机制》中我们学习了Java反射机制的基本使用,留心的朋友可能已经注意到了,在文中提到了三种获取Class对象的方法。
程序新视界
2020-03-30
1.8K0
SpringBoot2.x系列教程(四十三)SpringBoot整合Swagger2
在上篇文章中我们讲解了RESTful的概念及相关风格API的设计,那么针对多客户端的API,作为后端开发如何对接口进行验证呢?当然,可以通过写单元测试来完成。但如果还需要维护每个接口的API文档,同时还要保持版本更新维护呢?是不是工作量变得异常繁重了。
程序新视界
2020-03-18
6960
junit5中Assertions替代了Assert
最近基于Spring Boot2.x版本中的JUnit5进行单元测试,发现Assert类已经不存在了,在JUnit5中使用Assertions进行替代。而且Junit5不仅仅替代了这么一个类,还有其他大量的类被重新定义和替换,在使用的时候大家需要留意。
程序新视界
2020-03-18
1.7K0
Junit5废弃@Before和@After注解
在使用Spring Boot最新版本进行单元测试时,发现@Before和@After注解无法使用。追溯原因,Spring Boot在2.x版本中已经使用了Junit5来作为单元测试的支持。
程序新视界
2020-02-25
1K0
Spring Boot中ImportAutoConfiguration注解与Import注解的区别
@ImportAutoConfiguration是否可以替代@Import注解?@ImportAutoConfiguration和@EnableAutoConfiguration是否效果相同?
程序新视界
2019-12-20
4.7K0
Java8 Stream性能如何及评测工具推荐
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
程序新视界
2019-10-22
8090
Spring中ApplicationListener的使用
ApplicationListener是Spring事件机制的一部分,与抽象类ApplicationEvent类配合来完成ApplicationContext的事件机制。
程序新视界
2019-08-01
8870
SpringBoot基础之MockMvc单元测试
SpringBoot创建的Maven项目中,会默认添加spring-boot-starter-test依赖。在《5分钟快速上手SpringBoot》中编写的单元测试使用了MockMvc。本篇文章就围绕MockMvc在SpringBoot中的使用进行讲解。
程序新视界
2019-05-26
11.6K0
没有更多了
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档