首页 > 解决方案 > 从 List 中检索项目会导致 com.sun.jdi.InvocationException 错误

问题描述

我正在使用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 实现的问题吗?

调试器截图 调试器

标签: javaoraclelistnullpointerexception

解决方案


我想到了。您必须为 TestCase 初始化资产路径才能从 Requirement 中检索 TestCases

我添加了以下内容并且它有效

TestCase tcRoot = (TestCase) otm.resolve("Test Cases/");

推荐阅读