我可以 运行 `@SpringBootTest` class 多次使用不同的配置吗?
Can I run a `@SpringBootTest` class multiple times with different configurations?
我有一个集成测试,它使用 @SpringBootTest
启动一个 Spring 应用程序上下文,它正在测试一个简单的 Spring 启动应用程序。我正在使用 Spock 编写测试,我的构建工具是 Maven。
我正在寻找一种方法 运行 相同的测试 class 多次使用不同的测试配置(我有一组配置选项,我需要确保一致的行为配置选项的特定排列)。我的第一个想法是使用配置文件来定义确切的排列,也许它也可以通过以某种方式使用 @TestPropertySource
来工作。但是,我看不出任何方法可以多次 运行 测试 class,每次都使用不同的配置。
我知道我可以 运行 ,但在我的情况下,我只想将不同的配置应用于某些测试 classes.
我还可以使用 where
块重复 spock 测试,如 here 所述,但这不允许我为每个 运行
切换 spring 配置
最简单的方法是使用简单的 subclasses,即,您在抽象基础 class 中定义所有测试,然后为每个变体 subclass 并添加subclasses 的必要注释。如果您只有一组有限的变体,此方法会很有效,并且会提供良好的报告反馈,因为每个变体都作为其自己的规范进行报告。
我有一个集成测试,它使用 @SpringBootTest
启动一个 Spring 应用程序上下文,它正在测试一个简单的 Spring 启动应用程序。我正在使用 Spock 编写测试,我的构建工具是 Maven。
我正在寻找一种方法 运行 相同的测试 class 多次使用不同的测试配置(我有一组配置选项,我需要确保一致的行为配置选项的特定排列)。我的第一个想法是使用配置文件来定义确切的排列,也许它也可以通过以某种方式使用 @TestPropertySource
来工作。但是,我看不出任何方法可以多次 运行 测试 class,每次都使用不同的配置。
我知道我可以 运行
我还可以使用 where
块重复 spock 测试,如 here 所述,但这不允许我为每个 运行
最简单的方法是使用简单的 subclasses,即,您在抽象基础 class 中定义所有测试,然后为每个变体 subclass 并添加subclasses 的必要注释。如果您只有一组有限的变体,此方法会很有效,并且会提供良好的报告反馈,因为每个变体都作为其自己的规范进行报告。