Supponiamo che la mia classe Foo
ha il seguente:Unit Testing costruttore iniezione
readonly IService service;
public Foo(IService service)
{
if (service == null)
throw new ArgumentNullException("service");
this.service = service;
}
public void Start()
{
service.DoStuff();
}
Finora, ho uno unit test per il costruttore in cui passo in nulla di verificare che ArgumentNullException
viene buttato. Ho bisogno di un secondo test di unità per il mio costruttore dove passo in un IService
valido e verificare che venga impostato this.service
(che richiederebbe un accesso pubblico)?
Oppure dovrei semplicemente affidarmi al mio test dell'unità per il metodo Start
per testare questo percorso di codice?
Qualcos'altro che puoi fare è rimuovere completamente il Ctor e lasciarlo generare da un modello T4, come questo progetto: https://t4ctorgenerator.codeplex.com/. Non è necessario il codice generato dall'unità di test. – Steven