Предположим, что мой Foo
класс имеет следующее:блок впрыска тестирования конструктор
readonly IService service;
public Foo(IService service)
{
if (service == null)
throw new ArgumentNullException("service");
this.service = service;
}
public void Start()
{
service.DoStuff();
}
До сих пор, у меня есть один модульный тест для конструктора, где я прохожу в нуль, чтобы убедиться, что ArgumentNullException
выкинут. Нужен ли мне второй модульный тест для моего конструктора, где я передаю действительный IService
и проверю, установлен ли this.service
(для чего потребуется публичный аксессор)?
Или я должен просто полагаться на свой модульный тест для метода Start
для проверки этого кода?
Что-то еще, что вы можете сделать, это полностью удалить ctor и позволить ему сгенерировать шаблон T4, например, этот проект делает: https://t4ctorgenerator.codeplex.com/. Нет необходимости в модульном тестировании сгенерированного кода. – Steven