Spring、Spring Boot和TestNG测试指南 - 集成测试中用Docker创建数据库

2018-12-28
阅读 5 分钟
3.8k
原文地址 在测试关系型数据库一篇里我们使用的是H2数据库,这是为了让你免去你去安装/配置一个数据库的工作,能够尽快的了解到集成测试的过程。 在文章里也说了: 在真实的开发环境中,集成测试用数据库应该和最终的生产数据库保持一致 那么很容易就能想到两种解决方案: 开发团队使用共用同一个数据库。这样做的问题在...

Spring JMS各组件详解

2018-01-17
阅读 6 分钟
11.3k
在上一篇文章使用Spring/Spring Boot集成JMS的陷阱中讲到了在使用Spring JMS组件时存在这一些性能陷阱,本文会着该文讲解一下Spring JMS的各个组件、它们的作用以及正确使用的方法。

Nginx反向代理WebSocket响应403的解决办法

2017-12-29
阅读 5 分钟
16k
在Nginx反向代理一个带有WebSocket功能的Spring Web程序(源代码地址)时,发现访问WebSocket接口时总是出现403响应,Nginx的配置参考的是官方文档:

Spring、Spring Boot和TestNG测试指南 - 测试AOP

2017-09-07
阅读 4 分钟
6.5k
Spring提供了一套AOP工具,但是当你把各种Aspect写完之后,如何确定这些Aspect都正确的应用到目标Bean上了呢?本章将举例说明如何对Spring AOP做测试。

Spring、Spring Boot和TestNG测试指南 - 共享测试配置

2017-09-06
阅读 2 分钟
4.7k
在测试代码之间尽量做到配置共用。...能够有效利用Spring TestContext Framework的缓存机制,ApplicationContext只会创建一次,后面的测试会直接用已创建的那个,加快测试代码运行速度。

Spring、Spring Boot和TestNG测试指南 - 测试@Configuration

2017-09-05
阅读 7 分钟
4.6k
在Spring引入Java Config机制之后,我们会越来越多的使用@Configuration来注册Bean,并且Spring Boot更广泛地使用了这一机制,其提供的大量Auto Configuration大大简化了配置工作。那么问题来了,如何确保@Configuration和Auto Configuration按照预期运行呢,是否正确地注册了Bean呢?本章举例测试@Configuration和Auto ...

Spring、Spring Boot和TestNG测试指南 - @TestConfiguration

2017-09-04
阅读 4 分钟
15.4k
@TestConfiguration是Spring Boot Test提供的一种工具,用它我们可以在一般的@Configuration之外补充测试专门用的Bean或者自定义的配置。

Spring、Spring Boot和TestNG测试指南 - @OverrideAutoConfiguration

2017-09-01
阅读 2 分钟
3.9k
除了单元测试(不需要初始化ApplicationContext的测试)外,尽量将测试配置和生产配置保持一致。比如如果生产配置里启用了AutoConfiguration,那么测试配置也应该启用。因为只有这样才能够在测试环境下发现生产环境的问题,也避免出现一些因为配置不同导致的奇怪问题。

Spring、Spring Boot和TestNG测试指南 - @JsonTest

2017-08-31
阅读 4 分钟
4.5k
需要注意的是@JsonTest需要Jackson的ObjectMapper,事实上如果你的Spring Boot项目添加了spring-web的Maven依赖,JacksonAutoConfiguration就会自动为你配置一个:

Spring、Spring Boot和TestNG测试指南 - @ActiveProfiles

2017-08-30
阅读 2 分钟
14k
Github地址 @ActiveProfiles可以用来在测试的时候启用某些Profile的Bean。本章节的测试代码使用了下面的这个配置: {代码...} 例子1:不使用ActiveProfiles 在没有@ActiveProfiles的时候,profile=default和没有设定profile的Bean会被加载到。 源代码ActiveProfileTest: {代码...} 例子2:使用ActiveProfiles 当使用了@...

Spring、Spring Boot和TestNG测试指南 - @TestPropertySource

2017-08-29
阅读 3 分钟
17.4k
同时@TestPropertySource(properties=...)优先级高于@TestPropertySource(locations=...)。

Spring、Spring Boot和TestNG测试指南 - 测试Spring MVC

2017-08-23
阅读 3 分钟
7.5k
Github地址 Spring Testing Framework提供了Spring MVC Test Framework,能够很方便的来测试Controller。同时Spring Boot也提供了Auto-configured Spring MVC tests更进一步简化了测试需要的配置工作。 本章节将分别举例说明在不使用Spring Boot和使用Spring Boot下如何对Spring MVC进行测试。 例子1:Spring 测试Spring...

Spring、Spring Boot和TestNG测试指南 - 测试关系型数据库

2017-08-22
阅读 6 分钟
5.4k
同时Spring Boot提供了和Flyway的集成支持,能够方便的管理开发过程中产生的SQL文件,配合Spring已经提供的工具能够更方便地在测试之前初始化数据库以及测试之后清空数据库。

Spring、Spring Boot和TestNG测试指南 - 使用Mockito

2017-07-23
阅读 5 分钟
11.9k
Mock测试技术能够避免你为了测试一个方法,却需要自行构建整个依赖关系的工作,并且能够让你专注于当前被测试对象的逻辑,而不是其依赖的其他对象的逻辑。

Spring、Spring Boot和TestNG测试指南 - 使用Spring Testing工具

2017-07-21
阅读 2 分钟
6.7k
既然我们现在开发的是一个Spring项目,那么肯定会用到Spring Framework的各种特性,这些特性实在是太好用了,它能够大大提高我们的开发效率。那么自然而然,你会想在测试代码里也能够利用Spring Framework提供的特性,来提高测试代码的开发效率。这部分我们会讲如何使用Spring提供的测试工具来做测试。

简解Spring的BeanWrapper、DataBinder、ConversionService、Formatter

2017-04-04
阅读 3 分钟
7.5k
Spring官方文档有专门一个章节阐述了BeanWrapper、DataBinder、ConversionService、Formatter。 同时也有相关章节阐述了Spring MVC中对其的运用: Section 22.16.3, “Conversion and Formatting” Customizing data binding with @InitBinder 不过很遗憾,官方文档对于如何在Standalone app和Spring MVC中应用这些东西讲...

Spring Transaction详解 - Transaction Isolation

2017-02-08
阅读 1 分钟
5.5k
Transaction Isolation 参考文档: Ask Tom: On Transaction Isolation Levels wiki isolation level JDBC transaction 相关代码:github 数据库并发访问读取时的现象 先来了解一下当数据库并发读取时会出现的现象,因为所谓的事务隔离级别是针对这些现象而提出的: Dirty read(wiki):A事务在读取某一行数据的时候,能...

Spring Transaction详解 - Transaction Propagation模式

2017-02-06
阅读 11 分钟
5.8k
相关文档:Spring官方文档,Javadoc 相关代码:github 在Spring官方文档中只对三种Transaction Propagation模式做了说明: Required RequiresNew Nested 并没有对另外四种做说明: SUPPORTS MANDATORY NOT_SUPPORTED NEVER 此外也没有对不同的Transaction Propagation嵌套组合的行为作一个详细说明,因此本文将会补全这...

Spring Transaction详解 - 手动回滚事务

2017-01-25
阅读 1 分钟
11.5k
在前面的文章异常发生时的回滚机制里讲到,当发生checked exception时将处理权交给了调用方。在这里介绍一种逼不得已,不推荐使用的手动回滚事务的方法:

Spring Transaction详解 - 异常发生时的事务回滚机制

2017-01-23
阅读 1 分钟
6.5k
在Spring官方文档中说到,当Transaction内发生unchecked exception的时候,会自动rollback,但是当Transaction内发生checked exception时,是不会自动rollback的。

Spring Boot启动过程及回调接口汇总

2016-09-16
阅读 13 分钟
20.8k
相关代码在: [链接] 注:本文基于spring-boot 1.4.1.RELEASE, spring 4.3.3.RELEASE撰写。 启动顺序 Spring boot的启动代码一般是这样的: {代码...} 初始化SpringApplication SpringApplication#run(Object source, String... args)#L1174 SpringApplication#L1186 -> SpringApplication(sources)#L236 SpringAppli...

使用Spring/Spring Boot集成JMS的陷阱

2016-07-13
阅读 4 分钟
23.9k
本文旨在指出Spring/Spring Boot中集成JMS的一些性能陷阱,在另一篇文章Spring JMS各组件详解里有Spring JMS组件介绍及如何正确使用的内容。