中
嗨,我是春季测试框架的新手。我有一个像这样的春豆 -
BEAN A{
@Autowired
BEAN B;
@Autowired
BEAN C;
}
我也想模拟豆A及其内部依赖性。
当我尝试使用Mockito进行bean a的模拟实例时,它的失败是"不满意的depentendendencyException"。
所以我必须去找到bean a中的每个依赖性并单独模拟这些依赖。
有没有一种方法可以模拟一个弹簧豆及其所有内部依赖项?
如果使用Mockito,则可以这样做:
@Mock
private BeanB beanB
@Mock
private BeanC beanC;
@InjectMock
private BeanA beanA;
您有两种使Mockito使用此操作的方法:
您可以用
注释测试课@RunWith(MockitoJUnitRunner.class)
第二个选项涉及致电
Mockito.initMock(this)
在您的@before方法
使用bean a:
单位测试代码所需的一切@Mock A a;
单位测试豆A所需的一切:
@Mock B b;
@Mock C c;
A a = new A(b, c);
为了使用春季测试测试,可以设置测试配置,例如:
@Mock B b;
@Mock C c;
@Configuration static public class TestConfig {
@Bean B b() { return b; }
@Bean C c() { return c; }
@Bean A a(B b, C c) {
return new A(b,c);
}
}