我们不应使用@Profilespring概要文件来确定是应执行还是忽略测试类中的所有测试。
@Profile
声明:
@Profile如果在Spring Environment中针对ApplicationContext的一个已命名bean定义配置文件之一处于活动状态,则使用来选择性地启用组件(例如,@Service等),@Configuration类或@Bean方法。此注释与测试没有直接关系: @Profile 不应在测试类上使用。
@Service
@Configuration
@Bean
这是真的?如果是,那为什么呢?
的确如此,因为会@Profile影响Spring组件并且未连接到Test框架。
不过,您可以拥有测试配置文件,该配置文件将在运行测试时加载Spring组件(作为配置类)
带配置文件的Test类示例:
// load related configuration classes @ContextConfiguration(classes = { TestConfiguration.class }) @ActiveProfiles(profiles = { "testing" }) public class MyTest extends AbstractTestNGSpringContextTests {