Главная страница Случайная страница Разделы сайта АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Unit Testing Framework от Microsoft
Visual Studio Unit Testing Framework – инструмент модульного тестирования для платформы.NET, встроенный в среду разработки Visual Studio 2005 и выше. Чтобы определить, что класс является тестирующим, необходимо пометить его атрибутом [TestClass]. Если класс помечен этим атрибутом, то он может содержать в себе тестовые методы. Обычно тестирующий класс называют так же, как и тестируемый, только с префиксом Test. В тестирующем классе могут содержаться тестирующие методы и обычно для всех методов тестируемого класса, которые возвращают значение, создается отдельный тестирующий метод. Тестирующий метод обычно называют, так же как и тестируемый, только с префиксом Test. Кроме тестирующих методов в тестирующем классе могут быть методы инициализации и очистки. Метод инициализации помечается атрибутом [TestInitialize] и позволяет инициализировать необходимые переменные перед выполнением метода-теста. Метод очистки помечается атрибутом [TestCleanup] и позволяет очистить результаты выполнения теста, например, очистить файл, удалить лишние записи с базы данных, присвоить переменным значения по умолчанию. Кроме методов инициализации и очистки на уровне теста, в тестирующем классе могут присутствовать методы инициализации и очистки уровня класса. Эти методы вызываются один раз. Методы инициализации уровня класса вызывается один раз перед вызовом первого теста, а метод очистки уровня класса вызывается после выполнения последнего теста. Метод инициализации уровня класса помечается атрибутом [ClassInitialize], а метод очистки уровня класса помечается атрибутом [ClassCleanup]. Ниже приведен пример тестового класса.
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Test { [TestClass] public class TestClass { public TestClass(){}
//Тестовый контекст private TestContext testContextInstance;
public TestContext getTestContext(){ return testContextInstance; }
public void setTestContext(TestContext testContext){ this.testContextInstance = testContextInstance; }
[ClassInitialize] public static void TestClassInitialize(TestContext testContext) { /*Код будет выполняться до вызова первого теста*/ }
[ClassCleanup] public static void TestCClassCleanup(){ /*Код будет выполняться после вызова последнего теста*/ }
[TestInitialize] public void TestInitialize(){ /*Код будет выполняться перед выполнением каждого теста*/ }
[TestCleanup] public void TestCleanup(){ /*Код будет выполняться после выполнением каждого теста*/ }
[TestMethod] public void TestMethod(){ /*Код теста*/ } } }
В тестовом классе для проверки значений, возвращаемых тестируемыми методами, используются статические методы класса Assert. Список всех методов класса Assert приведен в таблице 6.1. Таблица 6.1 – Методы класса Assert для тестирования
|