Uso l'injection dependency per fornire una delle mie classi (SomethingManager) con qualcosa di cui ha bisogno (SomethingEngine). Nel costruttore di SomethingManager ho impostato alcune proprietà su SomethingEngine. SomethingManager quindi espone un insieme di metodi che racchiudono le chiamate a SomethingEngine e alcuni piccoli bit di logica. Vorrei testare unitamente il mio costruttore per testare la logica delle proprietà che ho impostato inizialmente e anche per garantire il corretto le proprietà sono impostate. Per esaminare i risultati dei miei test, sto cercando di esporre un get accessor a ISomethingEngine su SomethingManager ma questa non sembra una buona soluzione.
Quale è un modo migliore per farlo?
private IEngine _engine;
public Manager(IEngine engine)
{
_engine = engine;
_engine.Prop1 = "a"; //etc
}
Ora per testare ho davvero bisogno di rendere pubblico IEngine (o almeno interno) e contrassegnarlo come visibile per il mio progetto di test dell'unità