我有一个春季启动应用程序。在使用@SpringBootApplication注释的主类中,我使用导入注释导入了一些配置。
@SpringBootApplication
@Import({ MyConfiguration.class })
public class MySpringBootApp {
public static void main(String[] args) {
new SpringApplicationBuilder(MySpringBootApp.class).build().run(args);
}
}
现在当我运行我的junit测试类,用“@RunWith(SpringRunner.class)”注释时,它会加载应用程序,并且还会加载主类中导入的configuartion类(即MyConfiguration)。
@RunWith(SpringRunner.class)
public class MyTest {
....
}
是否有办法覆盖导入,因此在运行测试时不会加载MyConfiguration。
答案 0 :(得分:1)
我知道你需要使用SpringRunner,但是你想使用不同的配置。在这种情况下,您只需使用@ContextConfiguration(classes = SomeConfigurationClass.class)
所以它看起来像这样:
@RunWith(SpringRunner.class)
@ContextConfiguration(classes = SomeConfigurationClass.class)
public class MyTest {
....
}
如果您不想要任何Spring容器,只需删除@RunWith(...)