【发布时间】:2013-04-20 17:36:31
【问题描述】:
我有一个测试类,并创建了一个 java 配置类来与这个类一起使用。但是我遇到了一些问题,因为其他测试似乎抛出了配置中的两个 bean 实例...
我的测试课:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=TestConfiguration.class)
public class ListenerTest {
// various tests.. just basic stuff..
}
@Configuration
public class TestConfiguration {
@Bean
public MyListsner ListenerImpl() {
return Mockito.mock(MyListsner .class);
}
}
现在,当我使用上面的模拟时,这个测试类可以正常通过。我的其他测试类似乎失败了,它们如下:
失败的测试类...
这个类抛出错误
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(classes=GeneratorTestConfiguration.class)
@Transactional
public class GeneratorTest {
// various tests
}
主要配置
@Configuration
@Import({
BaseConfiguration.class,
CoreBaseConfiguration.class
})
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
@EnableTransactionManagement(proxyTargetClass = true)
@EnableJpaRepositories(basePackages={
"com.persistence.repository"
})
@ComponentScan({ // where the components are
"com.tests"
})
public class GeneratorTestConfiguration {
}
我不知道为什么,当我将侦听器模拟添加到上面的类 ListenerTest 时,toher 测试失败,因为我在这些类中特定于在自动装配时使用相关配置。
【问题讨论】:
-
有人知道如何解决这个问题吗?
标签: spring junit4 spring-test