我正在为一个方法编写一个JUnit测试用例,该方法引导我指向另一个默认方法,当调用该默认方法时,它返回一个新的ArrayList。
试验方法
public List getTagDataForImage(String tagType, String imageType) {
List tagRules = getTagRulesForUpdateOrQueryImage(tagType, imageType);
List tagData = getTagData(tagRules);
return tagData;
}
在方法中,堆栈跟踪将我指向GetTagRulesForUpdateOrQueryImage(tagType,imageType);
,它将我引向这里
List getTagRulesForUpdateOrQueryImage(String tagType, String imageType) {
List commonList = tagList.getTagRulesForUpdateOrQueryImage(tagType
+ "," + imageTypes[0]); //This line
commonList.addAll(tagList.getTagRulesForUpdateOrQueryImage(tagType
+ "," + imageType));
return commonList;
}
在另一个类中定义的TagList.GetTagRulesForUpdateOrQueryImage(tagType+“,”+ImageTypes[0]);
的定义
List getTagRulesForUpdateOrQueryImage(String tagType) {
return new ArrayList((List) tagRulesMap.get(tagType));//gives NPE
}
TagRulesMap
是在构造函数调用时自动填充的HashMap
测试用例
@InjectMocks
TagDataFilter tagDataFilter;
@Test
public void testGetTagDataForImage()
{
List get=tagDataFilter.getTagDataForImage("QueryImages", "Common");
}
堆栈跟踪
java.lang.NullPointerException
at java.util.ArrayList.<init>(Unknown Source)
at data.TagList.getTagRulesForUpdateOrQueryImage(TagList.java:107)
at data.TagDataFilter.getTagRulesForUpdateOrQueryImage(TagDataFilter.java:92)
at data.TagDataFilter.getTagDataForImage(TagDataFilter.java:73)
at data.test.TagDataFilterTest.testGetTagDataForImage(TagDataFilterTest.java:54)
我不知道我错在哪里了。请帮我解决这个问题。
只是从评论中提供一个答案:
List getTagRulesForUpdateOrQueryImage(String tagType) {
return new ArrayList((List) tagRulesMap.get(tagType));//gives NPE
}
找不到键tagType,因此它返回null,然后尝试强制转换,然后返回NullPointerException。
函数setUpMapIfNeeded()中的getFragmentManager返回。我把我的片段与activity_main.xml分开,这里是我的代码: activity_main.xml: fragment_main.xml: 这是我的*.Java文件: 我已尝试将getSupportFramentManager与Android.support.v4.app.DialogFragment支持
web.xml 应用程序-servlet.xml context.xml(在tomcat conf文件夹中) 谢谢你的建议和帮助。
问题内容: 当我尝试在片段上显示地图时,它返回空指针异常。我已将所有权限添加到清单中。我将片段文件附加为其XML文件和log cat Chatffragment.java 其XML LOGCAT 第55和70行是googleMap = mapFrag.getMap(); initilizeMap(); 问题答案: 您必须等到地图加载完毕…。 编辑 检查编辑代码,使用ChildFragmentMan
问题内容: 该方法返回的表示形式。这里返回的对象是数组支持的,但不是对象。 我正在寻找对象返回值与对象之间的差异- 一种快速的来源,可以告诉它们而无需深入研究代码。 TIA。 问题答案: 当您调用Arrays.asList时,它不会返回。它返回一个由原始源数组支持的固定大小列表。换句话说,它是使用Java的基于集合的API公开的数组的视图。 您不能向其中添加元素,也不能从中删除元素。如果您尝试从中
如果我跑: 我会得到一张空名单。我猜它与名称空间有关,但我不知道如何修复它。
我在尝试单元测试函数调用时遇到了一个问题。尽管调用已被存根,但由于无效方法调用而失败。 请在下面找到我的代码的简化快照。我正在使用do答案()存根来模拟空方法(基于StackOverflow上的早期答案)。 我甚至尝试了其他选项的和存根,但当调用存根方法时,它们也会在相同的NPE中失败:(。 如果有人能提出解决方案/解决方法,我将不胜感激。非常感谢。 考试班 正在测试的实现类,来自该类的存根方法调