Estoy escribiendo una clase de prueba para probar mi clase 'ImporterService'. Este servicio lee un InputStream y crea un objeto a partir de sus datos. El objeto, en este caso una clase de generador, se crea una instancia dentro de la clase 'ImporterService'. Para probar mi clase 'ImporterService', necesito verificar las invocaciones en la clase Builder. Para esto, quiero utilizar un marco de burla, sin embargo, ¿cómo es posible crear una instancia simulada del objeto 'Constructor' fuera de 'ImporterService'?Mocking objeto instanciado interno
El método de mi clase 'ImporterService' se parece a:
public Builder importFrom(BufferedReader reader) throws IOException {
String someValue = readFrom(reader);
Builder builder = new Builder(); // I need to mock this Builder object...
builder.someMethod(someValue); // to see of a method is called with the expected value
}
Estaba pensando en mover la creación de la clase Constructor en un método protegido que puedo anular de la configuración de la prueba. Pero esta solución no me parece muy agradable ya que la clase 'ImporterService' está filtrando cierta lógica interna y permite anular el método por otras clases que no quiero.
Si está utilizando un buen marco de burla que no es necesario resorte en u otro armazón DI que su unidad prueba. A menos que esté probando su cableado –