2015-08-31 2 views
0

Я пытаюсь издеваться над массивом объектов в EasyMock, но получаю либо исключение нулевого указателя, либо вообще не работает.Как издеваться над массивами в EasyMock

getArgs() - это массив объектов. Используя нижнюю строку, массив объектов издевается.

EasyMock.expect(invMock.getArgs()).andReturn(new Object[] {to}); 

В приведенной ниже строке я устанавливаю длину объекта массива, но получаю исключение «null pointer».

EasyMock.expect(invMock.getArgs().length).andReturn(1); 

Может ли кто-нибудь помочь мне решить эту проблему.

+0

Немой вопрос: вы назвали EasyMock.replay()? –

+0

@ Кристофер .. да. Вызывается EasyMock.replay(). – sridhar

ответ

0

Это не так, как оно работает.

Ожидается, что invMock.getArgs() вернет массив из одного элемента. Это делается по вашей первой строке.

Вам не нужно записывать длину. Ваш массив new Object[] {to} является фактическим массивом длины один.

+0

Большое спасибо за ответ .. Анри. EasyMock.expect (invMock.getArgs()) иReturn (новый объект [] {to}). Anytimes() разрешил проблему. – sridhar

+0

Отлично. Вы также можете использовать 'EasyMock.expect (invMock.getArgs()). AndStubReturn (новый объект [] {to})', если вам не все равно, сколько раз оно вызвано – Henri

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