Мне нужно высмеять метод внутри метода void.Как издеваться над методом, который вызывается другим методом с помощью EasyMock?
Вот мой пример кода:
class MyClass {
public MyClass(Session s, Boolean b1, Boolean b2)
void myMethod(some paramaters...) {
// some code
int count= setSize();
}
int setSize() {
// some calculation....
return size;
}
Теперь в моем тестовом классе я хочу издеваться setSize()
вернуть свое собственное значение сказать 300
.
Я сделал, как:
MyClass mockclass = createNiceMock(MyClass.class);
EasyMock.expect(mockimplyZero.setBatchSize()).andReturn(Integer.valueOf(300));
mockclass.myMethod(parameters....)
когда вызов myMethod
, это не будет должным образом в метод. Я думаю, что EasyMock устанавливает значения по умолчанию для конструктора MyClass
. Как правильно выполнить фикцию?
Там нет методов в MyClass
кроме конструктора, myMethod
и setSize
Подсказка: прочитайте о соглашениях об именах java. Имя метода go camelCase; так делают поля; но имена классов идут UpperCase. Это важно; поскольку отклонение от этих стандартов делает ваш код ** труднее ** читать для других людей. – GhostCat