【发布时间】:2019-10-20 03:45:59
【问题描述】:
我有一个 Spring 应用程序,我在其中使用 EasyMock 在 JUnit 测试中进行模拟。
我在下面定义了三个类(比如说 A、B 和 C)。
@Named("A")
@Primary
public class A {
}
@Named("B")
public class B extends A {
}
public class C {
@Inject
private A a; // It should inject A instance here since it is marked as primary
}
public class CTest {
@Mock
private A a;// Here I'm getting exception
}
当我在 CTest 类中运行测试时,出现错误 预期单个匹配 bean,但找到 2:(A 和 B)。
为什么@primary 注释在这里不起作用。
【问题讨论】:
-
通常 Profile 与 Bean 注解配合使用。你能用它代替名字吗?
-
与我不久前提出的问题非常相似。看看这是否有帮助:stackoverflow.com/questions/50607285/…