我最近遇到了一种情况,我们注入一个int,其值在属性文件中声明。
@Inject
@ConfigurationParameter("someparameter")
private int resetCount;
如何模拟此变量/依赖项。可能吗?
现在我删除了private
访问说明符,并使用类的对象设置了它的值。但是如果我希望它被声明为私有并且仍然想要注入值或模拟变量呢?
注入主要数据类型是一种好习惯吗?
答案 0 :(得分:0)
ReflectionTestUtils 类可以设置类的任何字段,而不管其访问修饰符。
ReflectionTestUtils.setField(yourClassName, "resetCount", 5);
请参阅我的回答here
答案 1 :(得分:0)
最后,我找到了解决方案。 WhiteBox
api中有一个名为Mockito
的类,可以设置对象的内部状态。