【问题标题】:Debugging JMock expectations调试 JMock 期望
【发布时间】:2015-07-17 23:56:00
【问题描述】:

当我处于期望块中时,我无法在 Eclipse 调试中检查变量。右键单击“id”变量时,我在表达式窗口中收到“求值期间出错”和“id 无法解析为变量”。

例如

DataQuery dataQuery = context.mock(DataQuery.class);
String id = "Test";

content.checking(new Expectations() {{
    oneOf(dataQuery).getProperty(id);
}}

在区块内,我可以在 id 上按 F3,它会将我带到声明处。代码按预期工作。

【问题讨论】:

    标签: java eclipse jmock


    【解决方案1】:

    这是一个已知的限制报告here 与匿名类。还在此SO 线程上进行了讨论。

    从关于 Eclipse 问题的 cmets 看来,本地最终变量在调试器中作为匿名类对象 this 的成员是可见的。 (虽然我在本地工作区没有看到它):

    这些字段通常命名为val$<original_var_name>,如果类 是用jdt编译器编译的。

    cmets 还暗示这是 JVMDI API(jvm 调试器接口)限制,在 eclipse 中不是问题:

    我假设某个地方的某个人要求使用该功能,而我 假设他们被告知使用 JVMDI API 是不可能的...... ?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多