русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Unit Testing Framework от Microsoft


Дата добавления: 2015-06-12; просмотров: 1092; Нарушение авторских прав


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 Проверяет, чтобы передаваемый объект не являлся экземпляром заданного класса. Ошибка возникает, если объект является экземпляром заданного класса.


<== предыдущая лекция | следующая лекция ==>
Библиотеки модульного тестирования в .NET | Порядок выполнения работы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.176 сек.