Как войти в условный режим, если в отладке затмения - PullRequest
1 голос
/ 06 октября 2011

У меня следующая структура:

if (obj.isSomethingable()){ 
// do something }

Как мне ввести условное выражение, если obj.isSomethingable () имеет значение false и я не могу изменить логический экземпляр из obj?

Ответы [ 4 ]

4 голосов
/ 06 октября 2011

Вы можете использовать вкладку Дисплей eclipse, чтобы выполнить код в // сделать что-то.

Так что если у вас есть:

if(obj.isSomethingable())
{
  int var =5;
  System.out.println(var+8);
}

Затем, находясь в точке останова if на дисплеевкладку, которую вы можете вставить:

int var =5;
System.out.println(var+8);

Затем выделите все это и нажмите увеличительное стекло, чтобы увидеть, каким будет вывод этого кода.

1 голос
/ 06 октября 2011

Salut,

В перспективе отладки откройте вкладку «переменные».Вы можете выбрать свой объект и изменить его стоимость.Это будет работать для примитивов или простых объектов, но не для сложных.Я пробовал следующее:

return new MyObj() {
    public boolean isSomething() {
        return true;
    }
}; 

Но затмение не позволит вам использовать анонимные классы.Вы можете попробовать с насмешкой или чем-то еще.Google mockito и посмотреть, может ли он работать на вас.

Tiberiu

0 голосов
/ 06 октября 2011

Похоже, единственный способ сделать это - изменить исходный код.

boolean bol = obj.isSomethingable();
if (bol) { ... }

После этого вы можете изменить логическое значение с Variables на true.

0 голосов
/ 06 октября 2011

Перед выполнением if используйте отладчик, чтобы изменить состояние obj таким образом, чтобы isSomethingable() вернул true.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...