2015-07-17 2 views
1

Когда я в ожидании, я не могу проверять переменные в отладке Eclipse. Я получаю «ошибки во время оценки» в окне выражений и «id не может быть разрешен к переменной» при щелчке правой кнопкой мыши по переменной «id».Отладка ожиданий JMock

< К примеру, я не могу осмотреть dataQuery:

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

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

Внутри блока, я могу ударить F3 по идентификатору и он принимает меня к декларации. Код работает должным образом.

ответ

0

Это известное ограничение here с анонимными классами. Также обсуждается этот поток SO.

Из комментариев к проблеме затмения кажется, что локальные конечные переменные видны в отладчике как члены анонимного объекта класса. (Я не вижу в моем местном рабочем пространстве, хотя):

Эти поля обычно называют val$<original_var_name>, если класс был скомпилирован с Jdt компилятором.

Комментарии также намекают, что это JVMDI API (JVM отладчик интерфейса) ограничение и не является проблемой в затмении:

Я предполагаю, что кто-то где-то спросил, что функции, и я предположить, что им сказали, что это невозможно с помощью JVMDI API ... ?

Смежные вопросы