我正在为以下方法编写测试用例
protected Map<String, Integer> getColumnToIndexMap(String[] columns) {
Map<String, Integer> columnToIndexMap = Maps.newHashMap();
for (int i = 0; i < columns.length; i++) {
columnToIndexMap.put(columns[i], i);
}
return columnToIndexMap;
}
请让我知道测试用例是否正确
@Test
public void getColumnToIndexMapTest() {
String[] columns = {"Item1","Item2"};
Map<String, Integer> columnToIndexMap = Maps.newHashMap();
for (int i = 0; i < columns.length; i++) {
columnToIndexMap.put(columns[i], i);
}
Assert.assertTrue(columnToIndexMap.containsKey("Item2"));
Assert.assertEquals(columnToIndexMap.get("Item2"), "1");
}
答案 0 :(得分:1)
您正在测试的方法将返回填充了少量条目的地图。但是,您的Junit测试未调用该方法。考虑一下getColumnToIndexMap()
的方法主体随时间而变化的情况,您是否认为您的测试用例仍然适用?
如果getColumnToIndexMap()
也采用删除某些条目该怎么办,您的测试也会涵盖删除检查吗?不可以,除非您不断将Junit中的代码与经过测试的方法保持同步。维护成本很高,从不推荐。