创建java.util.map.Entry实例以帮助单元测试
在我的代码中,我有一个创建java.util.map.Entry实例以帮助单元测试,java,junit,mockito,powermockito,Java,Junit,Mockito,Powermockito,在我的代码中,我有一个for循环 for( final Entry<Object, Object> entry : fileTypeProperties.entrySet()) { saveFileTypeToCompany(registeredCompany, entry.getKey().toString(), entry.getValue().toString()); } for(最终条目:fileTypeProp
for
循环
for( final Entry<Object, Object> entry : fileTypeProperties.entrySet()) {
saveFileTypeToCompany(registeredCompany,
entry.getKey().toString(),
entry.getValue().toString());
}
for(最终条目:fileTypeProperties.entrySet()){
将文件类型保存到公司(注册公司,
entry.getKey().toString(),
entry.getValue().toString());
}
因此,在单元测试时,如何创建
Entry
(即java.util.map.Entry
)的实例?您实际需要做的是加载fileTypeProperties
的一些属性,如下所示,以便在调用fileTypeProperties.entrySet()
时,它将返回条目
对象
Map<Object, Object> fileTypeProperties = new HashMap<>();
// add some dummy property values to fileTypeProperties
Map fileTypeProperties=newhashmap();
//向fileTypeProperties添加一些虚拟属性值
- 不能直接创建
映射项,因为它是一个接口。如果愿意,您可以创建自己的类来实现接口
- 我不明白为什么要创建一个条目来进行单元测试。如果您正在测试
,那么您将传递条目的键和值,而不是条目本身。因此,要进行单元测试,需要将测试值传递给函数。如果要测试显示的代码,则需要填充映射以正确测试它。我看不到任何需要直接创建条目的场景saveFileTypeToCompany
- 如果您确实需要使用
进行单元测试,则使用mocking。您可以模拟接口,然后定义Map.Entry
和getKey
返回的内容getValue
- 如果您使用的是Java8,那么您的代码可以简化为:
filetypeproperties.forEach((k,v)->saveFileTypeToCompany(company,k,v))代码>
Map.Entry
,而不仅仅是Entry
,而是惯例import java.util.Map
,然后将其更改为Map.Entry
。