![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тестовое приложениеСтр 1 из 3Следующая ⇒
Модульное тестирование Модульные тесты – это тесты, которые проверяют корректность работы отдельной функции или метода. Модульные тесты обычно пишутся программистами и служат для первичной проверки того, что внесенные изменения не изменили поведение отдельных компонентов системы. TestComplete позволяет запускать некоторые виды модульных тестов. Для этого либо используются сторонние библиотеки, к которым обращается TestComplete при запуске тестов, либо вносятся изменения в тестируемое приложение, чтобы TestComplete имел доступ к имеющимся в нем модульным тестам. TestComplete поддерживает следующие типы модульных тестов: MSTest, JUnit, NUnit, DUnit и TCUnitTest. Первые четыре запускаются при помощи отдельных утилит, а последний тип тестов требует внесения изменений в тестируемое приложение. В справочной системе TestComplete подробно рассмотрены все шаги по подключению и запуску unit test-ов, мы же рассмотрим только два примера запуска модульных тестов для.NET приложения: NUnit и TCUnitTest. Тестовое приложение Специально для этой главы мы создали небольшое.NET-приложение (его можно найти в архиве с примерами, папка nUnitTestingApp).
В поля Var1 и Var2 вводятся числовые значения, а затем нажимается кнопка Plus или Minus. В зависимости от нажатой кнопки в третье поле помещается результат сложения либо вычитания этих переменных соответственно. Вот как выглядит код сложения и вычитания, а также код нажатий на кнопки: public static int PlusMethod(int var1, int var2) { return var1 + var2; }
public static int MinusMethod(int var1, int var2) { return var1 – var2; }
private void button1_Click(object sender, EventArgs e) { txtResult.Text = (PlusMethod(Convert.ToInt32(this.txtVar1.Text), Convert.ToInt32(this.txtVar2.Text))).ToString(); }
private void button2_Click(object sender, EventArgs e) { txtResult.Text = (MinusMethod(Convert.ToInt32(this.txtVar1.Text), Convert.ToInt32(this.txtVar2.Text))).ToString(); } Ниже мы поместили класс MyTests, который выполняет 3 проверки для метода PlusMethod: // unit tests [TestFixture] public class MyTests { [Test] public void PlusTest1() { Assert.AreEqual(Form1.PlusMethod(2, 3), 5); } [Test] public void PlusTest2() { Assert.AreEqual(Form1.PlusMethod(5, 6), 11); } [Test] public void PlusTest3() { Assert.AreEqual(Form1.PlusMethod(10, 3), 5); }
}
Обратите внимание, что последний тест изначально задан неверно (10 + 3 = 13, а не 5, как ожидается в тесте). Это сделано специально, чтобы сымитировать ошибку в юнит-тесте.
|