Ответ 1
Структура MSTest будет искать весь объект (все базовые классы) для методов, отмеченных Test*
. Например, когда вы объявляете их в классе unit test, вам не нужно их явно вызывать.
Предполагая, что Visual Studio.NET 2008 и MsTest используются для запуска модульных тестов. Когда система основана на обслуживающем контейнере и тестировании блока впрыска, естественно, потребуется настройка служб.
Должны ли эти службы настраиваться в базовом классе, чтобы все модульные тесты выполнялись или в каждом классе unit test. Если они должны быть в базовом классе, существует ли способ для выполнения методов TestInitialize
и ClassInitialize
без необходимости их вызова из производного класса, например base.Initialise?
Структура MSTest будет искать весь объект (все базовые классы) для методов, отмеченных Test*
. Например, когда вы объявляете их в классе unit test, вам не нужно их явно вызывать.
С 2008 года вы должны иметь [TestInitialize] в базовом классе, и до тех пор, пока вы не добавите другой [TestInitialize] куда-нибудь вниз по иерархии, его нужно вызвать. Вы также можете делать виртуальные методы.
Я предпочитаю отмеченные методы Test*
и Class*
находиться в фактическом классе unit test. Если вы определяете их в базовом классе, вы не можете добавлять к ним определенные для теста действия. Вместо этого используйте базовый класс для статических конструкторов экземпляров и финализатора.