Использование проверки на Spy ObjectJAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Использование проверки на Spy Object

Сообщение Anonymous »

Я определил шпионский бон: < /p>

@Bean
public IMyService myServiceSpy()
{
return Mockito.spy(new MyServiceImpl());
}
< /code>

В моем тесте я хочу захватить аргумент, который получает сервис.
Конечно, если я определю услугу как макет вместо шпиона, это сработает, но я хочу активировать реальный метод службы и продолжить поток, потому что мне нужно рассчитать возвратную ценность. @Inject
private IMyService myServiceSpy;

@Test
public void myTest()
{

//act
//here invoking some service that will eventually invoke MyServiceImpl.

//assert
ArgumentCaptor someObjCaptor = ArgumentCaptor.forClass(SomeObj.class);

try
{
Mockito.verify(myServiceSpy, Mockito.atLeastOnce()).create(someObjCaptor.capture());
}
catch(Exception e)
{
Assert.fail();
}
assertEquals("some value" , someObjCaptor.getValue());
< /code>

Странная вещь заключается в том, что метод шпиона снова активируется при вызове Verify (), но на этот раз метод вызывается с нулевыми параметрами. < /p>

После этого он провален в утверждении < /p>

org.mockito.exceptions.base.MockitoException: No argument value was captured! You might have forgotten to use argument.capture() in verify()... ...or you used capture() in stubbing but stubbed method was not called. Be aware that it is recommended to use capture() only with verify()

Examples of correct argument capturing:
ArgumentCaptor argument = ArgumentCaptor.forClass(Person.class);
verify(mock).doSomething(argument.capture());
assertEquals("John", argument.getValue().getName());
< /code>

Я использую ниже, чтобы запустить тесты: < /p>

@RunWith(SpringJUnit4ClassRunner.class)


Подробнее здесь: https://stackoverflow.com/questions/514 ... spy-object
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка UFT-ONE 2022. Элемент Object Spy. Графический интерфейс рабочего стола.
    Гость » » в форуме JAVA
    0 Ответы
    84 Просмотры
    Последнее сообщение Гость
  • Использование Laravel`Log::spy` с каналами
    Anonymous » » в форуме Php
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous
  • Безуспешно решить сложные группы ОДУ, используя Spy.integratesolve_bvp
    Anonymous » » в форуме Python
    0 Ответы
    30 Просмотры
    Последнее сообщение Anonymous
  • @Spy с @InjectMocks в Mockito
    Anonymous » » в форуме JAVA
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • @Spy с @InjectMocks в Mockito
    Anonymous » » в форуме JAVA
    0 Ответы
    16 Просмотры
    Последнее сообщение Anonymous

Вернуться в «JAVA»