Supongamos la siguiente implementación del método de plantilla:unidad de prueba del patrón de diseño método plantilla
public abstract class Abs
{
void DoYourThing()
{
log.Info("Starting");
try
{
DoYourThingInternal();
log.Info("All done");
}
catch (MyException ex)
{
log.Error("Something went wrong here!");
throw;
}
}
protected abstract void DoYourThingInternal();
}
Ahora, hay un montón de información en torno a la manera de probar la clase Abs
, y asegúrese de que DoYourThingInternal
se llama.
Sin embargo, supongamos que quiero probar mi clase Conc
:
public class Conc : Abs
{
protected override void DoYourThingInternal()
{
// Lots of awesome stuff here!
}
}
no me gustaría hacer conc.DoYourThing()
, ya que este invocará el método de los padres, que ya fue probado por separado.
Me gustaría probar solo el método de anulación.
¿Alguna idea?
no estoy seguro I understand; podrías elaborar? –