根据https://stackoverflow.com/a/33042872/4106030
我们不应使用@Profile
来让spring概要文件决定是应执行还是忽略测试类中的所有测试。
有记载:
@Profile
用于选择性地启用组件(例如@Service
等),@Configuration
类或@Bean
方法(如果命名的bean定义配置文件之一)在Spring环境中对于ApplicationContext是活动的。此注释与测试没有直接关系:@Profile
不应在测试类上使用。
这是真的吗?如果是,那为什么?
答案 0 :(得分:0)
这是真的,因为@Profile
影响Spring组件并且未连接到测试框架。
尽管如此,您仍可以具有测试配置文件,该配置文件将在运行测试时加载Spring组件(作为配置类)
带有配置文件的Test类的示例:
// load related configuration classes
@ContextConfiguration(classes = { TestConfiguration.class })
@ActiveProfiles(profiles = { "testing" })
public class MyTest extends AbstractTestNGSpringContextTests {