Например, я создаю объект и хочу установить для него свойство. Проблема в том, что свойство никогда не устанавливается, потому что EasyMock его перехватывает. Как это обойти?

ctx = control.createMock(EGContext.class);
ctx.setRequestSource("origin");
0
Kajzer 15 Фев 2018 в 10:39

1 ответ

Лучший ответ

Не думаю, что вы понимаете, как работает макет. Вам никогда не нужно устанавливать значение для имитации. Вы должны сказать макету, чтобы он возвращал это значение. Единственное исключение - частичное издевательство, когда класс тестирует сам себя, но имитирует часть своей реализации.

Но в целом то, что вам действительно нужно, это

ctx = createMock(EGContext.class);
expect(ctx.getRequestSource()).andReturn("origin");
replay(ctx);

Кстати, почему вы используете контроль? Вы используете действительно очень старую версию EasyMock?

2
Henri 18 Фев 2018 в 05:51