BacCM
@BacCM
C++ почти с рождения

Как проверить вещи зависящие от времени компиляции?

Очередной раз пытаемся начать писать тесты для легаси проектов. Хотя бы для потенциально баговых кусков.
Используем GoogleTests
Есть кусочек кода который парсит дату компиляции вынимает из неё разные элементы, типа строкового написания месяца и переводит в некое удобное и единообразное число.

Понятное дело всё это зависит от компилятора локали и еще бог знает чего.
Несложные тесты проверяют мелкие кусочки, например преобразование месяца в число.
EXPECT_EQ(rc_guisrv::utils::MonthByName("Feb"), 2);
	EXPECT_EQ(rc_guisrv::utils::MonthByName("Фев"), 2);


А вот с проверкой полного вызова функции есть проблема.
Потому как ничего лучшего чем взять текущую дату и её использовать для проверки не додумались. Поэтому если тесты пересобирать они проходят, при инкрементальном билде ожидаемо ломаются
Как бы такое побороть, например пометить файл чтобы всегда пересобирался.
  • Вопрос задан
  • 74 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы