【问题标题】:Spring junit error single matching bean but found 2Spring junit错误单个匹配bean但找到2
【发布时间】: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


【解决方案1】:

似乎 bean 被定义了两次。

【讨论】:

    猜你喜欢
    • 2016-07-11
    • 1970-01-01
    • 2016-04-12
    • 2018-04-22
    • 2012-01-14
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多