В общем, модульное тестирование - это все унитарное тестирование, то есть, одно за раз.
Как можно больше деталей, пожалуйста, помогите мне понять, как модульное тестирование. этот конструктор и GetCollectionObjects
метод?
Перво-наперво, проверил ли ты свой класс MyCollection
? 1011 *
Если нет, тебе следует начать с него, какот этого зависит ваш класс MyClassConstructor
, который является основой внедрения зависимости.В противном случае, как вы можете узнать, правильные или неправильные результаты вы получаете?Вы не сможете проверить и быть уверенным, что он работает безупречно.
Как мне полностью отделить классы?Вы можете дать ответ, используя любой IoC, я хочу понять концепцию.
С моей скромной точки зрения, у вас должна быть четкая причина сделать объект зависимым от другого, используя внедрение зависимостей.Как только вы заставляете объект зависеть от другого, на мой взгляд, нет смысла их разъединять.Один из способов развязки может состоять в использовании Unity Application Block из Enterprise Library.
Модульное тестирование этого конструктора
Обычно при проверке такого типа вам нужно проверять только три вещи.конструктор.
- то, что конструктор не возвращает нулевое значение;
- то, что возвращаемый экземпляр имеет ожидаемый тип;
- тот объект, который вы ожидаетесоздание экземпляра через свою зависимость фактически инициируется.
[TestCase("message")]
public void DependentConstructorTest(string message) {
MyClassConstructor myclass = new MyClassConstructor(message);
Assert.IsNotNull(myclass);
Assert.IsInstanceOf(typeof(MyClassConstructor), myclass);
Assert.IsNotNull(myclass.MyCollection); // Where MyCollection represents the property that
// exposes the instance created of the object from
// which your MyClassConstructor class depends on.
}
Примечание : этот тест написан с использованием атрибутов NUnit и методов утверждения.Используйте все, что вам нравится.