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

Пример setUP() TearDown()

#include <gtest/gtest.h>

class Rectangle {
public:
    Rectangle(double length, double width)
        : length(length), width(width) {}

    double calculateArea() const {
        return length * width;
    }

private:
    double length;
    double width;
};

class RectangleTest : public testing::Test {
protected:
    double initialLength, initialWidth;
    Rectangle* rectangle;

    // Функция SetUp() будет вызвана перед каждым тестом
    void SetUp() override {
        // Инициализация данных перед каждым тестом
        initialLength = 4.0;
        initialWidth = 3.0;
        rectangle = new Rectangle(initialLength, initialWidth);
    }

    // Функция TearDown() будет вызвана после каждого теста
    void TearDown() override {
        // Очистка данных после каждого теста (если необходимо)
        delete rectangle;
    }
};

TEST_F(RectangleTest, CalculateArea) {
    // Ожидаемое значение площади
    double expectedArea = initialLength * initialWidth;

    // Вычисляем площадь и сравниваем с ожидаемым значением
    double actualArea = rectangle->calculateArea();
    ASSERT_DOUBLE_EQ(expectedArea, actualArea);
}

// Другой тест, например, с другими значениями длины и ширины
TEST_F(RectangleTest, AnotherTest) {
    // Изменяем значения длины и ширины для другого теста
    initialLength = 5.0;
    initialWidth = 2.0;
    delete rectangle;  // Очищаем предыдущий объект
    rectangle = new Rectangle(initialLength, initialWidth);

    // Ожидаемое значение площади
    double expectedArea = initialLength * initialWidth;

    // Вычисляем площадь и сравниваем с ожидаемым значением
    double actualArea = rectangle->calculateArea();
    ASSERT_DOUBLE_EQ(expectedArea, actualArea);
}

int main(int argc, char **argv) {
    ::testing::InitGoogleTest(&argc, argv);
    return RUN_ALL_TESTS();
}
PreviousEXPECT_*NextТестирование производительности

Last updated 1 year ago