我有一个springbean原型,它有一些注入的依赖项,也有一些构造函数参数。
public BeanA {
@Inject private BeanB beanB;
private String arg;
public BeanA(String arg) {
this.arg = arg;
}
public void methodToTest() {
// ...
// ...
// ...
}
}
我想单元测试这个类,嘲笑我的老师 BeanB
.
通常,我会用 @InjectMocks
开始我内心的嘲弄 BeanA
.
我怎样才能做到这一点?到目前为止,我不想注射 BeanB
在构造函数中,因为它将混合业务参数和依赖项。
2条答案
按热度按时间pgpifvop1#
为什么将字段注入和构造函数注入混合在一起?我完全不建议进行现场注入,特别是因为它们很难进行单元测试。如果你想混合注射剂,也许这会有帮助:
spring:同时具有字段和构造函数注入的类的单元测试
或者你可以使用反射来设置你的
BeanB
给比娜使用反射设置私有字段值
unguejic2#
Spring有Spring
ReflectionTestUtils
可以用来向字段中注入模拟。