У меня есть ниже тест, который успешно работает во время выполнения в среде IDE, но когда я МВНЫ установить не удается с ниже сообщмакет теста неудача при выполнении МВНОВ установки
org.mockito.exceptions.misusing.MissingMethodInvocationException:
when() requires an argument which has to be 'a method call on a mock'.
Ниже тестовый класс:
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(loader = SpringockitoContextLoader.class,locations={"classpath:conf/test-context.xml"})
public class ServiceTest
{
@ReplaceWithMock
@Autowired
private Object1 object1
@Autowired
private Service service;
@Before
public void setup()
{
MockitoAnnotations.initMocks(this);
}
@Test
public void test()
{//below line is failing while doing mvn install
String validateMe="1234"
Mockito.when(object1.validate(validateMe)).thenReturn(true)
}
}
Нужна ли мне дополнительная настройка, чтобы она работала в maven?
обновление После дальнейшего анализа между поведением результатов IDE и maven.I добавлен ниже коды в методе испытаний и обнаружил, что при работе с IDE object1 приходит, как макет и возвращает истину, но при работе с мавена проверьте, что он печатается как false. Любая идея, почему это было бы haappening
new MockUtil().isMock(object1)
Вам нужно использовать @Mock вместо @ReplaceWithMock? – BretC
@Bret RepaceWithMock - вещь springockito .. она хорошо работает с весенними бобами и контекстами ..... как я сказал, тестовые прогоны, как это происходит при запуске через IDE – Rips
Это не выглядит правильно для меня .. это даже компилируется для тебя? Что там делает «String»? Mockito.when (object1.validate (String validateMe)). ThenReturn (true) – unigeek