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

лаб7 / lab7

.docx
Скачиваний:
6
Добавлен:
27.08.2024
Размер:
307.41 Кб
Скачать

ГУАП

КАФЕДРА № 41

ОТЧЕТ ЗАЩИЩЕН С ОЦЕНКОЙ

ПРЕПОДАВАТЕЛЬ

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

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

должность, уч. степень, звание

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

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

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

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

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

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

СТУДЕНТ ГР. №

4016

М.О.Жовтяк

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

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

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

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

Ход работы:

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

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

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

  1. Тест перед изменением в коде:

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

  1. Делаем повторный тест

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

  1. Теперь создаем свой 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;

}

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

Вывод: в ходе работы я научился писать и запускать модульные тесты в 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

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