Załóżmy, że mój Foo
klasa ma następujące elementy:Jednostka wtrysku testowanie konstruktor
readonly IService service;
public Foo(IService service)
{
if (service == null)
throw new ArgumentNullException("service");
this.service = service;
}
public void Start()
{
service.DoStuff();
}
tej pory, mam jeden test jednostki dla konstruktora, gdzie przechodzą w wartość null w celu sprawdzenia, że ArgumentNullException
zostaje wrzucony. Czy potrzebuję drugiego testu jednostkowego dla mojego konstruktora, w którym przekazuję ważny IService
i sprawdzam, czy ustawiono this.service
(co wymagałoby publicznego dostępu)?
Czy powinienem po prostu polegać na mojej jednostce testowej dla metody Start
, aby przetestować tę ścieżkę kodu?
Coś innego, co możesz zrobić, to całkowicie usunąć ctor i wygenerować go za pomocą szablonu T4, takiego jak ten projekt: https://t4ctorgenerator.codeplex.com/. Nie ma potrzeby generowania kodu testu jednostkowego. – Steven