资讯专栏INFORMATION COLUMN

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

CHENGKANG / 1121人阅读

摘要:地址在使用工具中提到在测试代码之间尽量做到配置共用。本章将列举几种共享测试配置的方法我们可以将测试配置放在一个里,然后在测试或中引用它。也可以利用的及自定义机制,提供自己的用在测试配置上。

Github地址

在使用Spring Boot Testing工具中提到:

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

本章将列举几种共享测试配置的方法

@Configuration

我们可以将测试配置放在一个@Configuration里,然后在测试@SpringBootTest或ContextConfiguration中引用它。

PlainConfiguration:

@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig")
public class PlainConfiguration {
}

FooRepositoryIT:

@SpringBootTest(classes = PlainConfiguration.class)
public class FooRepositoryIT extends ...
@Configuration on interface

也可以把@Configuration放到一个interface上。

PlainConfiguration:

@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig")
public interface InterfaceConfiguration {
}

FooRepositoryIT:

@SpringBootTest(classes = InterfaceConfiguration.class)
public class FooRepositoryIT extends ...
Annotation

也可以利用Spring的Meta-annotations及自定义机制,提供自己的Annotation用在测试配置上。

PlainConfiguration:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@SpringBootApplication(scanBasePackages = "me.chanjar.shareconfig")
public @interface AnnotationConfiguration {
}

FooRepositoryIT:

@SpringBootTest(classes = FooRepositoryIT.class)
@AnnotationConfiguration
public class FooRepositoryIT extends ...
参考文档

Meta-annotations

Meta-Annotation Support for Testing

Spring Annotation Programming Model

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/70340.html

相关文章

  • SpringSpring BootTestNG测试指南 - 测试@Configuration

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

    _DangJin 评论0 收藏0
  • SpringSpring BootTestNG测试指南 - @OverrideAutoConfi

    摘要:因为只有这样才能够在测试环境下发现生产环境的问题,也避免出现一些因为配置不同导致的奇怪问题。而方法则能够不改变原有配置不提供新的配置的情况下,就能够关闭。 Github地址 在Chapter 1: 基本用法 - 使用Spring Boot Testing工具里提到: 除了单元测试(不需要初始化ApplicationContext的测试)外,尽量将测试配置和生产配置保持一致。比如如果生产...

    elisa.yang 评论0 收藏0
  • SpringSpring BootTestNG测试指南 - 使用Spring Boot Test

    摘要:地址前面一个部分讲解了如何使用工具来测试项目,现在我们讲解如何使用工具来测试项目。所以我们可以利用这个特性来进一步简化测试代码。因为只有这样才能够在测试环境下发现生产环境的问题,也避免出现一些因为配置不同导致的奇怪问题。 Github地址 前面一个部分讲解了如何使用Spring Testing工具来测试Spring项目,现在我们讲解如何使用Spring Boot Testing工具来测...

    Anshiii 评论0 收藏0
  • SpringSpring BootTestNG测试指南 - 测试Spring MVC

    摘要:地址提供了,能够很方便的来测试。同时也提供了更进一步简化了测试需要的配置工作。本章节将分别举例说明在不使用和使用下如何对进行测试。例子测试的关键是使用对象,利用它我们能够在不需启动容器的情况下测试的行为。 Github地址 Spring Testing Framework提供了Spring MVC Test Framework,能够很方便的来测试Controller。同时Spring...

    andong777 评论0 收藏0
  • SpringSpring BootTestNG测试指南 - @JsonTest

    摘要:地址是提供的方便测试序列化反序列化的测试工具,在的文档中有一些介绍。例子简单例子源代码见使用通包下的文件测试结果是否正确或者使用基于的校验例子测试可以用来测试。这个例子里使用了自定义的测试代码例子使用事实上也可以配合一起使用。 Github地址 @JsonTest是Spring Boot提供的方便测试JSON序列化反序列化的测试工具,在Spring Boot的文档中有一些介绍。 需要注...

    Hegel_Gu 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<