java - 模拟一个spring bean及其内部依赖项
问题描述
嗨,我是 Spring 测试框架的新手。我有一个像这样的 Spring bean -
BEAN A{
@Autowired
BEAN B;
@Autowired
BEAN C;
}
我想模拟 Bean A 及其内部依赖项。
当我尝试使用 Mockito 实例化 Bean A 的模拟实例时,它以“UnsatisfiedDependencyException”失败。
所以我必须去找到 Bean A 中的每一个依赖项并单独模拟它们。
有没有一种方法可以一次模拟一个 Spring bean 及其所有内部依赖项?
解决方案
如果您使用 Mockito,那么您可以这样做:
@Mock
private BeanB beanB
@Mock
private BeanC beanC;
@InjectMock
private BeanA beanA;
你有两种方法可以让 Mockito 使用它:
您可以使用注释您的测试类
@RunWith(MockitoJUnitRunner.class)
第二个选项涉及调用
Mockito.initMock(this)
在你的 @Before 方法中
推荐阅读
- python - Flask:如何在 Flask、celery 或 python 多处理模块中创建一个或多个耗时的进程
- javascript - 为什么这个箭头函数绑定“this”的方式与类函数指针不同?
- node.js - cors 出现在 React 而不是 Node.js 为什么?
- html - 带有 HTML 控件的 javascript 3d
- go - 如何使用反向代理根据响应标头设置 cookie?
- javascript - 为什么这不在 MySQL 数据库中添加用户 ID?
- jenkins - 是否有任何 Jenkins 插件允许在将代码提升到生产之前手动批准构建?
- r - 如何根据 p 值表获得字母分离以表示显着的最小二乘均值
- keras - Keras 中的 ResNet50v2
- html - 如何在 Angular 8 中显示值显示错误类型错误:无法读取未定义的属性“项目名称”