Obtuve una clase usando una fábrica para crear algún objeto. En mi prueba de unidad me gustaría acceder al valor de retorno de la fábrica. Como la fábrica se pasa directamente a la clase y no se proporciona ningún getter para el objeto creado, tengo que interceptar el regreso del objeto de la fábrica.Mockito + Spy: Cómo recopilar los valores devueltos
RealFactory factory = new RealFactory();
RealFactory spy = spy(factory);
TestedClass testedClass = new TestedClass(factory);
// At this point I would like to get a reference to the object created
// and returned by the factory.
¿Existe la posibilidad de acceder al valor de retorno de la fábrica? ¿Probablemente usando el espía?
La única manera que puedo ver es burlarse de la fábrica de crear ... método
Saludos
'¿Por qué debe tener TestedClass' en la fábrica como la dependencia. ¿No debería simplemente pedir la clase real creada por la fábrica? ? (Ley de Demeter) –
El 'TestedClass' es un OSGi-Component. Un método del componente requiere que cada invocación sea un nuevo objeto creado por la fábrica. Refactoré la creación de objetos en una clase de fábrica para proporcionar una mejor capacidad de prueba. Dado que el objeto creado se inicializa según los parámetros del método, no hay forma de pasar simplemente los objetos creados en lugar de la fábrica. –