java - 在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);
}
}
推荐阅读
- r - 更改系统区域设置时 str_replace_all 不起作用。(编码问题)
- python-3.x - 从python中的嵌套列表中提取特定格式的输出
- python - 如何区分数字创建的 PDF 和可搜索的 PDF?
- powershell - 如何在新的 PowerShell 对象中设置变量
- firebase - 错误:无法在字段初始化程序中访问“this”以读取“uid”
- flutter - Flutter - 从 AlertDialog 返回内容
- sql - SUM 和 JOIN 跨多个表正常工作。返回错误的结果
- amazon-ec2 - 在 AWS 中的 EC2 上配置防火墙
- python - 如何完全抑制 f2py 的输出?
- javascript - 我无法访问在 Vue 中的 beforeRouteEnter 中映射的数据