У меня есть неизменный класс с некоторыми закрытыми полями, которые устанавливаются во время выполнения конструктора. Я хочу провести модульное тестирование этого конструктора, но я не уверен, что в этом случае "лучшая практика".
Простой пример
Этот класс определен в Assembly1:
public class Class2Test
{
private readonly string _StringProperty;
public Class2Test()
{
_StringProperty = ConfigurationManager.AppSettings["stringProperty"];
}
}
Этот класс определен в Assembly2:
[TestClass]
public class TestClass
{
[TestMethod]
public void Class2Test_Default_Constructor()
{
Class2Test x = new Class2Test();
//what do I assert to validate that the field was set properly?
}
}
РЕДАКТИРОВАТЬ 1 : я ответил на этот вопрос с потенциальным решением, но я не уверен, что это "правильный путь". Поэтому, если вы считаете, что у вас есть идея получше, пожалуйста, напишите ее.
Этот пример не стоит проверять, но предположим, что конструктор имеет более сложную логику. Является ли лучший подход, чтобы избежать тестирования конструктора и просто предположить, что он работает, если все тесты для методов в классе работают?
РЕДАКТИРОВАТЬ 2 : Похоже, я сделал образец немного проще. Я обновил его в более разумной ситуации.