Использование JMockit для макетирования реализаций автопроводного интерфейса

Мы пишем тесты JUnit для класса, который использует автоматическую разводку Spring для внедрения зависимости, которая является некоторым экземпляром интерфейса. Поскольку тестируемый класс никогда не создает явную копию зависимости или передает ее в конструктор, кажется, что JMockit также не чувствует себя обязанным ее создавать.

До сих пор мы использовали SpringRunner для того, чтобы иметь для нас загрузочные зависимости Spring, что работает. Две вещи, которые нам не нравятся в этом: 1) фреймворк Spring должен загружаться и инициализироваться при каждом запуске тестов, что не совсем быстро, и 2) мы вынуждены явно создавать все фиктивные зависимости как реальные классы, что JMockit помогает устранить.

Вот упрощенный пример того, что мы тестируем:

public class UnitUnderTest {

   @Autowired
   ISomeInterface someInterface;

   public void callInterfaceMethod() {

      System.out.println( "UnitUnderTest.callInterfaceMethod calling someInterface.doSomething");
      someInterface.doSomething();
   }

}

Итак, вопрос в том, есть ли способ заставить JMockit создать макет?someInterface?

Ответы на вопрос(5)

Ваш ответ на вопрос