mem*_*und 5 java junit spring spring-test
我想写一种集成测试,但是只针对特定的类。这意味着我希望自动连接该类中的所有字段,但忽略同一目录内的所有类。
那可能吗?
例:
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = {TestConfig.class})
public class JunitTest {
@Autowired
private MyService service;
}
//how to only scan that specific class?
@ComponentScan(basePackageClasses = {MyService.class, MyInjectedService.class})
@Configuration
public class TestConfig {
}
@Service
public class MyService {
@Autowired
private MyInjectedService service;
}
Run Code Online (Sandbox Code Playgroud)
在这里,我希望spring忽略与上述两个目录相同的目录中的任何类basePackageClasses。
您可以使用过滤器来自定义扫描。在那里,您可以使用如下属性扩展 ComponentScan Annotation:
@ComponentScan(
basePackages = {"com.my.package"},
useDefaultFilters = false,
includeFilters = {
@Filter(type = FilterType.ASSIGNABLE_TYPE, value = {MyService.class, MyInjectedService.class})
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3351 次 |
| 最近记录: |