У меня есть основное понимание в насмешках/stubbing.Понимание насмешек/stubbing - mockito
При создании окурок в тестовом коде, как:
test h = mock(test);
when(h.hello()).thenReturn(10);
и в исходной логики У меня есть такой код:
test src = new test();
src.hello();
Теперь будет STUB получить вызывается, так как я погасил вводное метод или Поскольку экземпляр отличается, он не будет заострен? Есть ли способ заглушить все экземпляры класса?
Отражение для установки помощника в проверке класса для моего макета также включено в опции справа? Пожалуйста, поправьте меня, если я ошибаюсь. – user1192671
Да, вы можете, но только в том случае, если он назначен для поля в конструкторе, не динамически созданного в тестируемом методе. Вы можете использовать специальный загрузчик классов для загрузки макетной версии вспомогательного класса, но поверьте мне, что лучший способ - написать простой тестовый код с классами сотрудничества, переданными в конструкторе. Инструменты, такие как весна, прекрасно поддерживают его. – JosefN
Ну, я понимаю, что пишущий тестируемый код. Сейчас я работаю с устаревшим кодом, поэтому мне нужно обходное решение. Итак, что, если поле в конструкторе динамически создано, но я заставляю его назначать мой макет во время запуска моего теста? Он должен работать правильно? – user1192671