При разработке модульных тестов в Visual Studio часто требуется создать какой-то базовый класс для тестирования базовой логики.
Например, у нас есть этот класс: [TestClass]
public virtual class PersonTestBase
{
[Метод испытания]
публичная пустота GetNameTest()
{
//.
}
}
и его класс-потомок: [TestClass]
public class CustomerTest: PersonTestBase
{
[TestMethod]
public override void GetNameTest()
{
base.GetNameTest();
}
}
Преимущества этого подхода:
- полная поддержка визуальных инструментов Visual Studio (редактор списка тестов);
- простота реализации.
- избыточность кода;
- создание наследника — это, по сути, копирование и вставка.
Дополнительную информацию см.
в MSDN. Помимо методов, описанных в msdn, можно сделать так: создаются два проекта: BaseTests и CustomTests; необходимые файлы из BaseTests добавляются в проект CustomTests таким образом: Проект -> Добавить существующий элемент -> Выбрать необходимые файлы -> Добавить как ссылку.
Таким образом файлы физически располагаются в разных проектах, но при компиляции нужные классы оказываются в одной сборке.
Теперь пришло время изменить наш CustomerTest. [TestClass]
public class CustomerTest: PersonTestBase
{
[TestMethod]
public override void CustomerTestMethod()
{
//.
}
}
Мы добавили новый метод, специфичный для клиента, и удалили переопределения методов из базового класса, поскольку нас полностью устраивает его функциональность.
Что мы получили из этого:
- на самом деле у класса есть 2 тестовых метода: один передан из базового класса, а другой мы реализовали сами.
- Редактор списка тестов Visual Studio говорит, что мед у нас только один — метод из основного класса не отображается и, соответственно, не запускается.
На помощь нам приходит стандартная утилита MSTest, которая решает все или почти все наши проблемы.
Преимущества этого метода:
- мы избавились от недостатков предыдущего способа;
- нет интеграции с Visual Studio.
net-разработка #юнит-тестирование #Чулан
-
App Store Переходит На Цены В Рублях
19 Oct, 24 -
Как Были Разработаны Первые Процессоры Intel
19 Oct, 24 -
Японцы Изобрели Сиденья, Препятствующие Сну
19 Oct, 24 -
Компианино
19 Oct, 24