如何在类中模拟整数

时间:2014-12-30 09:11:58

标签: java junit mocking mockito junit4

我最近遇到了一种情况,我们注入一个int,其值在属性文件中声明。

@Inject
@ConfigurationParameter("someparameter")
private int resetCount;

如何模拟此变量/依赖项。可能吗?

现在我删除了private访问说明符,并使用类的对象设置了它的值。但是如果我希望它被声明为私有并且仍然想要注入值或模拟变量呢?

注入主要数据类型是一种好习惯吗?

2 个答案:

答案 0 :(得分:0)

使用此框架由spring框架提供的

ReflectionTestUtils 类可以设置类的任何字段,而不管其访问修饰符。

ReflectionTestUtils.setField(yourClassName, "resetCount", 5);

请参阅我的回答here

答案 1 :(得分:0)

最后,我找到了解决方案。 WhiteBox api中有一个名为Mockito的类,可以设置对象的内部状态。

Here is an example how it is done.