Używanie JMockit do próbkowania implementacji interfejsu autowired

Piszemy testy JUnit dla klasy, która używa autowiring w Spring do wstrzykiwania zależności, która jest pewnym wystąpieniem interfejsu. Ponieważ testowana klasa nigdy jawnie nie tworzy instancji zależności ani nie przekazuje jej w konstruktorze, wydaje się, że JMockit również nie jest zobowiązany do jej utworzenia.

Do tej pory korzystaliśmy z SpringRunner, aby sprawić, że wiosenne zależności będą dla nas działały. Dwie rzeczy, których nie podoba nam się to: 1) framework Spring musi zostać załadowany i zainicjowany za każdym razem, gdy uruchamia się testy, które nie są dokładnie szybkie, oraz 2) jesteśmy zmuszeni do jawnego tworzenia wszystkich próbnych zależności jako klas rzeczywistych, coś, co JMockit pomaga wyeliminować.

Oto uproszczony przykład tego, co testujemy:

public class UnitUnderTest {

   @Autowired
   ISomeInterface someInterface;

   public void callInterfaceMethod() {

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

}

Tak więc pytanie brzmi, czy istnieje sposób, aby JMockit tworzył próbęsomeInterface?

questionAnswers(5)

yourAnswerToTheQuestion