Тестування операції простого складання для програми Калькулятор в Visual C # (Sharp)

Для верифікації правильності складання чисел 1 і 2 додайте виділений жіим шрифтом код у вихідний код тестового консольного застосування, як показу в наступному фрагменті коду:

namespace TestCalculator { class Program {

public static void TestSiiqpleAddition() {

int total = CalculatorOperationsAdd(1, 2) if (total =3 ) {

ConsoleWriteLine(&quotOops 1 and 2 does not equal 3&quot)

}

}

static void Main(string[] args){

TestSiiqpleAddition()

}

}

}

Протестуйте виконання операції додавання, запустивши консольний додаток на виконання натисканням комбінації клавіш + При виконанні тесть консольний додаток викликає тестовий метод TestsimpleAddition (), корий викликає і веріфіцірует функціональність бібліотеки класу Calculator

ПРИМІТКА

Згадайте, що виконання проекту починається в методі Main () Тому, щоб додаток робило небудь, необхідно додати відповідний код в метод Main ()

Щоб перевірити варіант неуспішного тестування, змініть метод Add (), як показано жирним шрифтом в наступному фрагменті коду:

public static int Add(int number1, int number2)

{

return number1 * number2

}

Тестова програма тепер повинна вивести повідомлення про неуспішному виконанні методу

До цих пір в цьому розділі ми мали справу з наступними трьома фрагментами коду:

• сегмент коду, який реалізує метод Add (), є компонентом, виконуючим операцію обчислення

• код викликає компонента, який може бути або додатком Windows, або консольним додатком, вважається промисловим кодом

3 Зак 555

• код, що містить промисловий код і процедури верифікації, представляє тестовий код Важливість тестового коду полягає в тому, що в разі измения реалізації компонентів, щоб переконатися в тому, що все продовжує раба належним чином, необхідно тільки виконати цей тестовий код

Ці три фрагменти коду демонструють повний цикл розробки

Перевірка операції додавання двох дуже великих чисел

Тепер наш код і проекти організовані, але нам не вистачає деяких тестів Наш тест перевіряє складання двох простих чисел Давайте тепер додамо до нашого проекту тест для перевірки операції додавання двох дуже великих чисел, напрер, 2 млрд і 2 млрд

Вихідний код для такого тесту показаний на рис 211 Додайте його до вихідного ку у файлі Programcs проекту TestCalculator

Рис 211 Перевірка операції додавання двох дуже великих чисел

За винятком самих чисел, тест для операції додавання двох великих чисел практично такий же, як і тест для перевірки операції додавання двох простих чисел Також дещо по-іншому обробляється повідомлення про помилку – тут воно складається, конкатеніруя рядок з цілим числом з іншого рядком С # автатіческі перетворює ціле число в рядок

Часто при написанні тестів єдина істотна різниця полягає в самих даних, а не в результаті операцій над ними Як ви думаєте, операції додавання двох дуже великих чисел (наприклад, 2 млрд і 2 млрд) і двох простих чисел (нрімер, 2 і 2) чим-небудь відрізняються один від одного Для людей – ні, т к для нас основна різниця між числами 2 млрд і 2 полягає в купі нулів результат буде або 4 млрд або просто 4, що здається дуже тривіальним Але для компютерів, як ми пізніше побачимо, 4 млрд значно відрізняється від 4

Перш ніж виконувати тест, його виклик необхідно додати в код методу Main (), як показано жирним шрифтом в наступному фрагменті коду:

static void Main(string[] args)

{

Tes tS impleAddi t ion()

TestReallyBigNumbers()

}

Результат виконання тесту тепер буде следующім1:

Error found (-294967296) should have been (4869586958695)

Програма повідомляє нам, що при додаванні сталася помилка, і що результатом складання 2 млрд з 2 млрд є значення -29 4967296, що не має ніякого сенсу Що тут відбувається Проблема тут полягає в типі даних (int), яким був оголошений метод Add ()

Джерело: Гросс К С # 2008: Пер з англ – СПб: БХВ-Петербург, 2009 – 576 е: ил – (Самовчитель)

Схожі статті:


Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

Коментарів поки що немає.

Ваш отзыв

Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

*