运行覆盖率(EclEmma)时,我遇到了一个错误:java.lang.ClassCastException: Z cannot be cast to java.lang.String
,而在运行Junit测试时则没有问题。
这是代码(类中的所有字段都是Strings
):
@Override
public Map<String, String> getErrors() throws IllegalAccessException, IllegalArgumentException {
Map<String, String> errors = new HashMap<String, String>();
for (Field field : this.getClass().getDeclaredFields()) {
field.setAccessible(true);
String value = (String) field.get(this);
if (value.equals("N")) {
if (!errors.containsKey(field.getName())) {
errors.put(field.getName(), value);
}
}
}
return errors;
}