我在我的项目中使用 Mockito 和 Spring Framework。
我有一个这样的测试用例:
class SomeTest {
@Mock
SomeDao dao;
@InjectMock
TestTarget target;
class MyAnswer implements Answer {
//some method here
}
}
Run Code Online (Sandbox Code Playgroud)
我想MyAnswer为定义一个自定义答案类dao。
如果没有注释,我可以Mockito.mock(Dao.class, new MyAnswer())使用 MyAnswer 来强制我的模拟对象。但我发现通过@Mock注释,它们只接受enum AnswerslikeAnswers.RETURNS_DEFAULT或内部的参数Answers.RETURNS_MOCKS。
我可以强制dao使用MyAnswer注释@Mock吗?
当我正在编写一些 spring 代码时,我将 spring 4 与 class 和 annotation-config 一起使用。我已经声明了一个 bean 将一个接口实现为一个组件。我正在尝试使另一个 bean 依赖于它的接口时间。但它不起作用,因为 spring 抛出一个错误,没有在该名称中找到 bean。我认为这可能是因为取决于仅适用于具体类自动线,但我不知道为什么要这样设置?有没有人可以解释为什么依赖注释不允许类型自动连接到接口?
简单的示例代码是这样的
@Component
class A implement B{
}
@Component
@DependsOn("B")
class C {
}
Run Code Online (Sandbox Code Playgroud)
除非我更改@DependsOn("B")为,否则上面的代码无法工作
@DependsOn("A")