在我的单元测试类中,我有以下配置:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = WebAppConfigTest.class)
public class ExampleTest {
但是在加载WebAppConfigTest类之后,它正在加载我的WebAppConfig类,该类具有@Configuration并且不在测试包中(src / test / java)。
注意:类WebAppConfig未配置为加载到单元测试中,但仍在收费。
WebAppConfig Class
@EnableWebMvc
@ComponentScan(basePackages = {"br.com.example"})
@PropertySource(value="classpath:application.properties")
@Configuration
public class WebAppConfig extends WebMvcConfigurerAdapter {
WebAppConfigTest类
@ComponentScan(basePackages = {"br.com.example"})
@Configuration
public class WebAppConfigTest {
如何防止这个类被加载到测试包中?
答案 0 :(得分:2)
Spring不会将软件包与src / test / java或src / main / java区分开来进行组件扫描。
@ComponentScan(basePackages = {"br.com.example"})
本质上是扫描所有@Configuration,当前包和子包中从“br.com.example”开始的所有包。 这些是您可以选择的选项: