Вы используете TestInitialize или тестового конструктора класса для подготовки каждого теста? и почему?

Этот вопрос расценивает поблочное тестирование в Visual Studio с помощью MSTest (это важно из-за порядка выполнения MSTEST). И отмеченный [TestInitialize] метода и тестовый конструктор класса будут работать перед каждым методом тестирования.

Так, вопрос, что Вы склонны делать в каждой из этих областей? Вы стараетесь не выполнять определенные операции в также? Что является Вашей причиной: стиль, технический, суеверие?

65
задан Anthony Mastrean 12 December 2008 в 14:55
поделиться

3 ответа

Я предпочитаю использовать [TestInitialize] метод для выполнения инстанцирования протестированного объекта, и это - параметры. Я только выполняю работу в конструкторе, если необходимо инстанцировать базового класса тестирования (который обычно является, где я создаю или обновляю репозитории, и т.д.). Это помогает мне сохранить код среды тестирования и тестовый код отдельными логически и физически.

4
ответ дан Anthony Mastrean 7 November 2019 в 11:42
поделиться

Объект, который Вы тестируете, не должны инстанцировать в методе [TestInitialize]. Можно протестировать конструктора объекта в методе тестирования [Тест].

Объект в [TestInitialize] может состоять в том, чтобы установить Ваше устройство хранения данных постоянства или подготовить значение, что протестированный объект будет используемый в тестах.

1
ответ дан Rook 7 November 2019 в 11:42
поделиться

Этот вопрос также задан (позже) в В чем разница между использованием конструктора в VS Testing framework и атрибута TestInitialize()?

FWIW Я предполагаю, что под "конструктором класса" вы подразумеваете конструктор экземпляра (не статический конструктор).

Я полагаю, что тот же вопрос, который вы задаете, можно задать и о статическом конструкторе по сравнению с ClassInitialize...

3
ответ дан 24 November 2019 в 15:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: