Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

лаб7 / lab7

.pdf
Скачиваний:
2
Добавлен:
27.08.2024
Размер:
498.1 Кб
Скачать

ГУАП КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ ПРЕПОДАВАТЕЛЬ

Старший преподаватель

 

Д.В. Куртяник

 

 

 

 

 

должность, уч. степень,

 

 

 

 

подпись, дата

 

инициалы, фамилия

звание

 

 

ОТЧЕТ О ЛАБОРАТОРНОЙ РАБОТЕ 7

Модульное тестирование

по курсу: ОСНОВЫ ПРОГРАММИРОВАНИЯ

РАБОТУ ВЫПОЛНИЛ

 

 

СТУДЕНТ ГР.

4016

 

 

 

М.О.Жовтяк

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

подпись, дата

 

инициалы, фамилия

Санкт-Петербург 2021

Цель лабораторной работы: Приобретение практических навыков в области тестирования программного обеспечения, изучение возможностей модульного тестирования в MS Visual Studio

Ход работы:

1) Клонируем проект https://github.com/microsoft/calculator

2)Выбирается тест для проверки

Мной был выбран HistoryTests >>TestHistoryClearCommand, который проверяет,

очищена ли история операций калькулятора, где условием выполнения является нажатие на кнопку Clear History с входными и выходными данными 0, 0.

3) Тест перед изменением в коде:

4)Нарочно изменяем код так, чтобы тест не был выполнен. Здесь изменилось условие на проверку количества операций, теперь история очищается, если операций отрицательное количество, что невозможно. В итоге количество операций будет больше нуля и тест не будет пройден.

2

5) Делаем повторный тест

Тест не выполнен с ошибкой Assert failed.

6)Теперь создаем свой unit-тест с проверкой

В моем случае выполняем проверку функции, выполняющей возведение степени в квадрат.

Код UnitTest.cpp:

#include "pch.h" #include <CppUnitTest.h> #include "stepen.h"

using namespace std;

using namespace Microsoft::VisualStudio::CppUnitTestFramework;

namespace Lab7

{

TEST_CLASS(UnitTest1)

{

public: TEST_METHOD(TestMethod1)

{

Assert::IsTrue(stepen(2) == 4);

}

TEST_METHOD(TestMethod2) { Assert::IsTrue(stepen(3) == 9);

};

}

Код stepen.h:

int stepen(int n)

{

int a = n * n; return a;

}

3

Проверка теста:

Вывод: в ходе работы я научился писать и запускать модульные тесты в Visual Studio с помощью встроенного средства для тестирования CppUnitTestFramework.

Список используемых ресурсов:

1)https://docs.microsoft.com/ru-ru/visualstudio/test/getting-started-with-unit- testing?view=vs-2022&tabs=dotnet%2Cmstest

2)https://docs.microsoft.com/ru-ru/visualstudio/test/unit-test-basics?view=vs-2022

3)https://pro.guap.ru/get-task/9436b1fb32e36f2745340cc6e3fc2023

4

Соседние файлы в папке лаб7