我有一个看起来像这样的javaconfig文件:
@Configuration
public class ServiceConfig {
@Autowired
FooBean someBean;
@Bean
@Scope(value="session", proxyMode = ScopedProxyMode.TARGET_CLASS)
public FooService fooService() {
return new FooServiceImpl(someBean, fooB());
}
private Foo fooB() {
return new FooB();
}
}
我基于this stack answer创建了一个类似于junit的测试文件:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes = ServiceConfig.class)
public class ServiceConfigTest {
}
但我有几个问题:
我应该用这个junit测试文件测试我的所有配置文件吗?我总共有4个配置文件,包括ServiceConfig
文件,所以在ContextConfiguration
中我应该将它们全部列出来,还是单独对每个文件进行junit测试?
我应该在这里测试一下?我试过阅读这个spring guide但是我真的不明白我应该在这里测试什么行为......就好像什么东西能成功自动连接?
答案 0 :(得分:2)
我应该用这个junit测试文件测试我的所有配置文件吗?一世 总共有4个配置文件,包括ServiceConfig文件,所以在 我应该将ContextConfiguration列出全部或者有一个 对每个人进行单独的junit测试?
在您的测试类中,@ ContextConfiguration必须位于类的根目录上。
因此,要测试每个配置,您必须按Configuration
创建一个测试类。
我应该在这里测试什么?我试过阅读这个春季指南但是 我真的不明白我应该在这里测试什么行为......就好像 什么东西成功自动装配?
测试自动装配是否成功似乎不是很有用。这将是Spring功能的单元测试。如果要对这些类进行单元测试,则应测试自己的处理。目前,你还没有。所以,我不确定测试它们有很大的价值。
答案 1 :(得分:0)
在功能上测试系统或各个单元的预期行为。作为其中的一部分,将对配置进行测试。
您不需要进行测试以确保正确接线。这应该隐含在您正在测试的功能的基础上。
您可以使用@Import
将多个配置聚合到一个配置类中。