Usando o JMockit para simular implementações de interface automática

Estamos escrevendo testes JUnit para uma classe que usa a autowiring do Spring para injetar uma dependência, que é uma instância de uma interface. Como a classe em teste nunca instancia explicitamente a dependência ou a passou em um construtor, parece que o JMockit também não se sente obrigado a instanciá-la.

Até agora, temos usado o SpringRunner para ter dependências simuladas do Spring Load para nós, o que funciona. Duas coisas que não gostamos sobre isso são: 1) o framework Spring deve ser carregado e inicializado toda vez que executar os testes que não são exatamente rápidos, e 2) somos forçados a criar explicitamente todas as dependências simuladas como classes reais, algo que O JMockit ajuda a eliminar.

Veja um exemplo simplificado do que estamos testando:

public class UnitUnderTest {

   @Autowired
   ISomeInterface someInterface;

   public void callInterfaceMethod() {

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

}

Então, a questão é, existe uma maneira de fazer o JMockit criar uma simulaçãosomeInterface?

questionAnswers(5)

yourAnswerToTheQuestion