在我的代码中,我有一个for
循环,
for( final Entry<Object, Object> entry : fileTypeProperties.entrySet()) {
saveFileTypeToCompany(registeredCompany,
entry.getKey().toString(),
entry.getValue().toString());
}
那么,在单元测试时,如何创建Entry
的实例(即java.util.map.Entry
)?
答案 0 :(得分:1)
您无法直接创建Map.Entry
界面。如果需要,您可以创建自己的实现接口的类。
我无法理解您为什么要为单元测试创建条目。如果您正在测试saveFileTypeToCompany
,那么您将传递条目的键和值,而不是条目本身。因此,对于单元测试,您将测试值传递给函数。如果您正在测试您正在显示的代码,那么您需要填充地图以正确测试它。我无法看到您需要直接创建条目的任何情况。
如果您确实需要使用Map.Entry
进行单元测试,请使用模拟。您可以模拟界面,然后定义getKey
和getValue
返回的内容。
如果您使用的是Java 8,那么您的代码可以简化为:fileTypeProperies.forEach((k, v) -> saveFileTypeToCompany(company, k, v));
答案 1 :(得分:0)
您实际需要做的是加载fileTypeProperties
一些属性,如下所示,这样当您致电fileTypeProperties.entrySet()
时,它将返回Entry
个对象。
Map<Object, Object> fileTypeProperties = new HashMap<>();
// add some dummy property values to fileTypeProperties