我有一个只读类,它将由Jackson初始化。我将给出一个供API使用的jar,并且不希望用户为该对象设置属性。
class ReadOnlyClass {
private String value;
public String getValue() {
return this.value;
}
}
现在必须将此对象传递给另一个服务以执行其他工作。
我想为此服务编写Junit。如何初始化该对象。
我听说使用反射是一种不好的做法。在powermock / mockito或我可以使用的任何其他库中是否有任何实用程序。
答案 0 :(得分:2)
powermock / mockito或我可以使用的任何其他库中是否有任何实用程序。
通过这种方式,
class SomeService{
public void doSomeTask(ReadOnlyClass roc){
// Some logic
}
}
class SomeServiceTest{
@Mock
private ReadOnlyClass readOnlyClass;
@autowired
private SomeService someService;
@Test
public void testDoSomeTask(){
when(readOnlyClass.getValue())
.thenReturn("some value");
someService.doSomeTask(readOnlyClass);
}
}
答案 1 :(得分:1)