unit tests
  • Установка Google Test
    • через VS 2022
  • Что тестировать как тестировать
    • Test Suites
  • Google Test примеры
  • Параметризация примеры
  • Функции expect и assert
    • EXPECT_*
  • Пример setUP() TearDown()
  • Тестирование производительности
  • Профилирование
    • ЦП Аналитика
    • Пример
  • пример тестирование записи в файл
  • 📚Tasks
    • Задание на повторение
    • Задание calculate_average
    • Задание
    • Задание 2
    • Задание 3
    • Задание Интеграционное тестирование
    • Задание 4 треугольник интеграция
    • Задание кошелек
    • Кошелек интеграция
    • Задачи профилирование
    • Задание Task
  • Пример
Powered by GitBook
On this page
  1. Tasks

Задание

Напишите тестовые функции при помощи google test для данной функции calculateTotalCost

#include <iostream>

// Функция для расчета стоимости товара с учетом налогов и скидки
// Принимает на вход стоимость товара (без налогов и скидок), процент налога и процент скидки
// Возвращает общую стоимость товара после применения налогов и скидки
double calculateTotalCost(double baseCost, double taxPercent, double discountPercent) {
    // Рассчитываем стоимость с учетом налогов
    double costWithTax = baseCost * (1 + taxPercent / 100);

    // Рассчитываем стоимость с учетом скидки
    double costWithDiscount = costWithTax * (1 - discountPercent / 100);

    // Возвращаем общую стоимость товара
    return costWithDiscount;
}

int main() {
    // Пример использования функции
    double baseCost, taxPercent, discountPercent;

    // Получаем ввод от пользователя
    std::cout << "Введите стоимость товара (без налогов и скидок): $";
    std::cin >> baseCost;

    std::cout << "Введите процент налога: ";
    std::cin >> taxPercent;

    std::cout << "Введите процент скидки: ";
    std::cin >> discountPercent;

    // Вызываем функцию и выводим результат
    double totalCost = calculateTotalCost(baseCost, taxPercent, discountPercent);
    std::cout << "Общая стоимость товара с учетом налогов и скидки: $" << totalCost << std::endl;

    return 0;
}

ПРИМЕР

  1. Реализация функции: Создайте файл math_operations.cpp и добавьте следующий код:

// math_operations.cpp
int add(int a, int b) {
    return a + b;
}
  1. Тестирование с использованием Google Test: Создайте файл test_math_operations.cpp и добавьте следующий код:

// test_math_operations.cpp
#include "gtest/gtest.h"
#include "math_operations.cpp"

// Пример теста
TEST(AddTest, PositiveNumbers) {
    EXPECT_EQ(4, add(2, 2));
}

// Добавьте дополнительные тесты, проверяющие различные случаи использования функции add
  1. Основная функция для запуска тестов: Создайте файл main.cpp с основной функцией для запуска тестов:

// main.cpp
#include "gtest/gtest.h"

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
  1. Компиляция и запуск: Соберите ваши файлы и выполните тесты. Например, используя g++:

g++ -o test_main main.cpp test_math_operations.cpp -lgtest -lgtest_main
./test_main
PreviousЗадание calculate_averageNextЗадание 2

Last updated 1 year ago

📚