在 junits 中初始化只读对象的最佳方法



我有一个只读类,将由杰克逊初始化。我将给出 API 要使用的 jar,并且不希望用户为对象设置属性。

class ReadOnlyClass {
private String value;
public String getValue() {
return this.value;
}
}

现在,必须将此对象传递给另一个服务才能执行其他工作。

我想为这项服务编写 Junits。如何初始化此对象。

我听说使用反射是一种不好的做法。powermock/mockito或任何其他我可以使用的库中是否有任何实用程序。

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. 如果可以修改 ReadOnlyClass,则可以创建构造函数。
  2. 您可以使用杰克逊准备 json 并对其进行反序列化

相关内容

最新更新