Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






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 для тестирования

Название метода Описание
Assert.AreEqual Проверяет, равны ли заданные значения. Ошибка возникает, если значения неравны.
Assert.AreNotEqual Проверяет, чтобы заданные значения небыли равны. Ошибка возникает если значения, если значения равны.
Assert.AreSame Проверяет, указывают ли ссылки на один и тот же объект. Ошибка возникает, если ссылки указывают на разные объекты.
Assert.AreNotSame Проверяет, чтобы ссылки не указывали на один и тот же объект. Ошибка возникает, если ссылки указывают на один и тот же объект.
Assert.Fail Ошибка возникает без каких-либо проверок.
Assert.IsTrue Проверяет, является ли передаваемое значение истинным. Ошибка возникает если значение ложно.
Assert.IsFalse Проверяет, является ли передаваемое значение ложным. Ошибка возникает если значение истинно.
Assert.IsNull Проверяет, является ли передаваемое значение null. Ошибка возникает, если значение не null.
Assert.IsNotNull Проверяет, чтобы передаваемое значение не было null. Ошибка возникает, если передаваемое значение null.
Assert.IsInstanceOfType Проверяет, является ли передаваемый объект экземпляром заданного класса. Ошибка возникает, если значение не является экземпляром заданного типа.
Assert.IsNotInstanceOfType Проверяет, чтобы передаваемый объект не являлся экземпляром заданного класса. Ошибка возникает, если объект является экземпляром заданного класса.





© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.