我正在使用Oracle Test Manager API编写一个类来从系统中检索一些信息。我正在使用的对象具有方法getTestCases(),该方法返回对象列表。返回的列表的大小为1。但是,如果我尝试调用列表上的任何方法,例如get(),甚至打印它,我都会得到NullPointerException。
AssociationList<TestCase> tc = r.getTestCases();
//this prints 1
System.out.println("tc size " + tc.size());
//this throws a NullPointerException
System.out.println("tc item " + tc);
最后一条打印语句是否至少应打印出哈希码?什么会导致NullPointer? 我在那条线上做了一个断点。检查对象将显示“ com.sun.jdi.InvocationException发生了调用方法”。
如果列表包含一个项目,为什么列表的行为会如此? API的Oracle实现会不会有问题?
调试器的屏幕截图
答案 0 :(得分:0)
我知道了。您必须初始化TestCase的资产路径,才能从Requirement中检索TestCases
我添加了以下内容,并且有效
TestCase tcRoot = (TestCase) otm.resolve("Test Cases/");