Por ejemplo, tengo una clase Java como la siguiente. Voy a escribir una prueba unitaria para doWork(), así que me gustaría controlar el comportamiento de obj. Pero es obvio que obj se ejemplifica internamente.¿Cómo escribir un UT para simular un objeto interno en un método?
¿Cómo puedo escribir este UT? Ahora estoy usando Junit + Mockito.
class ToBeTest{
public ToBeTest(){}
public boolean doWork(){
OtherObject obj=new OtherObject();
return obj.work();
}
}
Gracias de antemano. :)
BTW, La realidad es que estoy escribiendo UT para la clase de otra persona. Entonces no quiero cambiarlo Ha sido completamente probado por la prueba de integración.
Does 'obj' * have * se crea una instancia internamente? ¿Tiene sentido tratarlo como una dependencia en su lugar? –
Tienes razón. Pero la realidad es que estoy escribiendo UT para la clase de otra persona. Entonces no quiero cambiarlo Ha sido probado completamente. – Smartmarkey
Y otro punto. No podemos inyectar todos los objetos en nuestra clase. Al igual que abrimos un archivo, entonces necesitamos crear una instancia de una clase de archivo. – Smartmarkey