Unit тест – блок кода (обычно метод), который вызывает тестируемый блок кода и проверяет его правильность работы. Если результат юнит-теста не совпадает с ожидаемым результатом, тест считается не пройденным.
Модульное тестирование (Unit testing) – тестирование каждой атомарной функции приложения отдельно, с использованием объектов искусственно смоделированной среды.
Свойства хорошего Unit теста
- Автоматизированным и повторяемым;
- Простым в реализации;
- После написания он должен остаться для последующего использования;
- Кто угодно в команде должен иметь возможность запустить Unit тест;
- Должен запускаться одним нажатием кнопки;
- Должен выполнятся быстро.
Подход ААА
- Arrange
- Act
- Assert
Атрибуты
TestClass – Тестирующий класс
TestMethod – Тестирующий метод
TestInitialize – Метод для инициализации. Вызывается перед каждым тестирующим методом.
TestCleanup – Метод для освобождения ресурсов. Вызывается после каждого тестирующего метода
ClassInitiazlie – Вызывается один раз для тестирующего класса, перед запуском тестирующего метода.
ClassCleanup – Вызывается один раз для тестирующего класса, после завершения работы тестирующих методов
AssemblyInitialize – вызывается перед тем как начнут работать тестирующие методы в сборке
AssemblyCleanup – вызывается после завершения работы тестирующих методов в сборке.
Assertion
Assert
• Сравнение двух входящих значений
• Много перегрузок для сравнения значений
CollectionAssert
• Сравнение двух коллекций
• Проверка элементов в коллекции
StringAssert
• Сравнение строк
Основные методы класса Assert
Assert.AreEqual() - проверка двух аргументов на равенство
Assert.AreSame() - проверяет, ссылаются ли переменные на одну и ту же область памяти.
Assert.InstanceOfType() - метод для проверки типов объектов.
Assert.IsTrue() - проверка истинности логической конструкции.
Assert.IsFalse() - проверка ложи логической конструкции
Источник:
Information Technology Video Developer Network http://itvdn.com ITVDN