Создание модульного теста

Лабораторная работа №1

(по дисциплине "Тестирование ПО")

Тема: «Модульный тест для консольных приложений»

Модульный тест — это программный тест, написанный на языках Visual C#, Visual Basic либо написанный на Visual C++ и скомпилированный с параметром /clr:safe. Этот тест употребляет способы проекта.

Модульный тест вызывает способ класса, передавая характеристики, и инспектирует, соответствует ли Создание модульного теста возвращаемое значение ожидаемому. Модульные испытания пишутся вручную либо создаются автоматом.

Последовательность выполнения лабораторной работы:

• Открыть Visual Studio 2008 (Team System Test Edition)

• В меню Файл избрать пункт Сделать, а потом команду Проект. Раскрылось диалоговое окно Сделать проект.

• В перечне Типы проектов избрал Visual C#.

• В перечне Шаблоны избрать Консольное приложение.

• В поле Имя ввести ConsoleApplicationи надавить кнопку ОК.

• Новый проект Создание модульного теста " ConsoleApplication " будет сотворен и появится в обозревателе решений.

• В обозревателе решений два раза щелкнуть файл Program.cs, чтоб открыть его в редакторе кода Visual Studio.

• Скопировать начальный код.

• Поменять начальное содержимое файла Program.cs кодом:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace Создание модульного теста UnitTest

{

class Program

{

static void Main(string[] args)

{

double unitPrice = 5.99;

int quantity = 12;

double totalPrice;

totalPrice = CalculateTotalPrice(unitPrice, quantity);

}

static double CalculateTotalPrice(double uPrice, int Qty)

{

double totalPrice;

double tax = 0.12;

totalPrice = uPrice * Qty + (uPrice * tax * Qty); //

Console.WriteLine("Total Price of {0} Items is {1}", Qty.ToString(), totalPrice.ToString());

return totalPrice;

}

}

}

Место имен System содержит Создание модульного теста фундаментальные классы, которые определяют всераспространенные типы значений и ссылочные типы данных, действия и обработчики событий, интерфейсы, атрибуты и исключения обработки.

Место имен System.Collections.Generic содержит интерфейсы и классы, определяющие универсальные коллекции, которые позволяют юзерам создавать строго типизированные коллекции, обеспечивающие завышенную производительность и безопасность типов по сопоставлению с неуниверсальными Создание модульного теста строго типизированными коллекциями.

Места имен System.Linq содержат типы, поддерживающие запросы с внедрением LINQ. Сюда относятся типы, представляющие запросы в виде объектов в деревьях выражений. Language Integrated Query (LINQ) — проект Microsoft по добавлению синтаксиса языка запросов (напоминающего SQL) в языки программирования платформы .NET Framework. LINQ выпущен Создание модульного теста совместно с Visual Studio 2008 в конце ноября 2007 года.

Место имен System.Text содержат типы для работы с шифровками знаков и для управления строчками.

• В меню Построение избрать команду Выстроить решение.

Будет сотворен проект с именованием " ConsoleApplication ". Он содержит начальный код, подлежащий тестированию.

Создание модульного теста

• В обозревателе решений два раза щелкнуть файл Создание модульного теста Program.cs в проекте "ConsoleApplication". Это приведет к открытию файла начального кода для просмотра и редактирования.

• В файле Program.cs, перейти к способу CalculateTotalPrice ().

• Щелкнуть способ правой кнопкой мыши и избрать команду Сделать модульный тест.

Раскрылось диалоговое окно Сделать модульные испытания.

• В области Выходной проект щелкнуть Сделать новый тестовый проект Visual C#.

• В Создание модульного теста диалоговом окне Сделать модульные испытания надавил кнопку ОК.

Раскроется диалоговое окно Новый тестовый проект.

• Бросить имя по дефлоту и надавить кнопку Сделать.

При всем этом будет сотворен проект с именованием "TestProject1", отображаемый в обозревателе решений.

При всем этом будет сотворен проект с именованием "TestProject1", отображаемый в обозревателе решений.

В этот тестовый проект добавляется файл с Создание модульного теста именованием ProgramTest.cs, содержащий тестовый класс. В класс врубается способ инициализации, способ чистки и способы для тестирования способов CalculateTotalPriceTest(). Каждому способу тестирования автоматом присваивается атрибут TestMethod(). Каждый тест соответствует отдельному способу в тестируемом коде, подлежащему проверке. Способы теста включены в тестовый класс, которому присвоен атрибут TestClass().

• В файле ProgramTest Создание модульного теста.cs указать значения переменных, подлежащих тестированию

• using UnitTest;

• using Microsoft.VisualStudio.TestTools.UnitTesting;

• namespace TestProject1

• {

• ///

• ///Это класс теста для ProgramTest, в каком должны

• ///находиться все модульные испытания ProgramTest

• ///

• [TestClass()]

• public class ProgramTest

• {

• private TestContext testContextInstance;

• ///

• ///Получает либо устанавливает контекст теста, в каком предоставляются

• ///сведения о текущем тестовом запуске и обеспечивается его функциональность Создание модульного теста.

• ///

• public TestContext TestContext

• {

• get

• {

• return testContextInstance;

• }

• set

• {

• testContextInstance = value;

• }

• }

• #region Дополнительные атрибуты теста

• //

• //При написании тестов можно использовать последующие дополнительные атрибуты:

• //

• //ClassInitialize употребляется для выполнения кода до пуска первого теста в классе

• //[ClassInitialize()]

• //public static void MyClassInitialize(TestContext testContext)

• //{

• //}

• //

• //ClassCleanup употребляется для выполнения кода после окончания работы всех тестов в классе

• //[ClassCleanup()]

• //public static void MyClassCleanup Создание модульного теста()

• //{

• //}

• //

• //TestInitialize употребляется для выполнения кода перед пуском каждого теста

• //[TestInitialize()]

• //public void MyTestInitialize()

• //{

• //}

• //

• //TestCleanup употребляется для выполнения кода после окончания каждого теста

• //[TestCleanup()]

• //public void MyTestCleanup()

• //{

• //}

• //

• #endregion

• ///

• ///Тест для Main

• ///

• [TestMethod()]

• [DeploymentItem("ConsoleApplication1.exe")]

• public void MainTest()

• {

• string[] args = null; // TODO: инициализация подходящего значения

• Program_Accessor.Main(args);

• Assert.Inconclusive("Нереально проверить способ, не ворачивающий Создание модульного теста значение.");

• }

• ///

• ///Тест для CalculateTotalPrice

• ///

• [TestMethod()]

• [DeploymentItem("ConsoleApplication1.exe")]

• public void CalculateTotalPriceTest()

• {

• double uPrice = 5.99F; // TODO: инициализация подходящего значения

• int Qty = 12; // TODO: инициализация подходящего значения

• double expected = 80.5056F; // TODO: инициализация подходящего значения

• double actual;

• actual = Program_Accessor.CalculateTotalPrice(uPrice, Qty);

• Assert.AreEqual(expected, actual,.001);

• // Assert.Inconclusive("Проверьте корректность этого способа теста.");

• }

• }

• }


sozdanie-prilozhenij-dlya-android.html
sozdanie-problemnoj-situacii.html
sozdanie-proekta-prilozheniya.html