Así que aquí está el escenario, estoy refaccionando algunos códigos de spaghetti. Mi primer problema fue una cadena de clases que revivió otras clases, lo arreglé haciendo que el ctor de la clase que quiero probar (Search.cs) tome la clase que necesita como dependencia, se ve así ahora.Burlarse de una clase que hereda de otra clase
public Search(XmlAccess xmlFile, SearchDatabaseConnect searchDatabaseConnection)
{
this.xmlFile = xmlFile;
FsdcConnection = searchDatabaseConnection;
Clear();
}
Lo estoy renovando más arriba en la cadena. Eso está bien, pero tengo un pequeño problema.
La clase que estoy inyectando hereda de otra clase, tengo Resharper y he extraído las interfaces pero el problema es que la clase de dependencia hereda de otra clase concreta - ¿entiendes lo que quiero decir?
public class SearchDatabaseConnect : DatabaseConnect, ISearchDatabaseConnect
{ // }
No sé qué hacer con la herencia en DatabaseConnect? ¿Cómo me burlo de eso? Obviamente, si eso no estuviera allí, estaría todo listo, podría burlarme de ISearchDatabaseConnect y nos marchamos, pero estoy atascado en la herencia de una clase concreta. Estoy seguro de que la gente se ha topado con esto antes de que mi búsqueda fuera un fracaso a la hora de encontrar ejemplos sobre esto.
Gracias de antemano por cualquier sugerencia útil.
Solo como referencia "newing it up" generalmente se llama instanciar ;-) –
sí, gracias - es simplemente una cuestión de preferencia personal, me suele gustar el término "newing" porque a) es la palabra clave que usa el código (bien OK n ew es) yb) de alguna manera parece más divertido que el término instanciar. – Kenn