SVCS - Русская документация
Загрузка...
Поиск...
Не найдено
Класс svcs::test::cli::utils::HistoryCommandTest

Google Test фикстур для запуска интеграционных тестов HistoryCommand. Подробнее...

#include <IntHistoryCommandTest.hxx>

Граф наследования:svcs::test::cli::utils::HistoryCommandTest:

Защищенные члены

void SetUp () override
 Настраивает тестовое окружение перед каждым тестом.
void TearDown () override
 Очищает тестовое окружение после каждого теста.
void createTestFile (const std::string &filename, const std::string &content) const
 Создает тестовый файл с указанным содержимым во временной директории.
void createTestDirectory (const std::string &dirname) const
 Создает тестовую директорию во временном расположении.
void stageFiles (const std::vector< std::string > &files) const
 Индексирует список файлов с использованием логики индексации RepositoryManager.
bool createTestCommit (const std::string &message)
 Создает новый коммит (сохранение) с указанным сообщением.
int countMessages (const std::vector< Event > &notifications, const std::string &message)
 Подсчитывает количество вхождений конкретного сообщения (подстроки) во всех уведомлениях о событиях.

Защищенные статические члены

static bool containsMessage (const std::vector< Event > &notifications, const std::string &message)
 Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.

Защищенные данные

std::shared_ptr< MockSubjectmockEventBus
 Общий указатель на mock шину событий (наблюдатель).
std::shared_ptr< RepositoryManagerrepoManager
 Общий указатель на компонент основной логики репозитория.
std::unique_ptr< HistoryCommandcommand
 Уникальный указатель на тестируемую команду.
std::filesystem::path testDir
 Путь к временной тестовой директории репозитория.

Подробное описание

Google Test фикстур для запуска интеграционных тестов HistoryCommand.

Этот фикстур предоставляет необходимую инфраструктуру для интеграционных тестов команды history:

  • SetUp/TearDown: Управление временной директорией репозитория SVCS.
  • Основные компоненты: Экземпляры MockSubject (для шины событий) и RepositoryManager (для основной логики).
  • Вспомогательные методы: Упрощают создание файлов, индексацию и, что важно, создание mock коммитов для заполнения истории для тестирования различных форматов вывода и ограничений.

Методы

◆ containsMessage()

bool svcs::test::cli::utils::HistoryCommandTest::containsMessage ( const std::vector< Event > & notifications,
const std::string & message )
staticprotected

Проверяет, существует ли конкретное сообщение (подстрока) в любом уведомлении о событии.

Аргументы
notificationsСписок захваченных событий.
messageПодстрока для поиска.
Возвращает
true если сообщение найдено, false в противном случае.

◆ countMessages()

int svcs::test::cli::utils::HistoryCommandTest::countMessages ( const std::vector< Event > & notifications,
const std::string & message )
protected

Подсчитывает количество вхождений конкретного сообщения (подстроки) во всех уведомлениях о событиях.

Аргументы
notificationsСписок захваченных событий.
messageПодстрока для подсчета.
Возвращает
Количество событий, содержащих подстроку.

◆ createTestCommit()

bool svcs::test::cli::utils::HistoryCommandTest::createTestCommit ( const std::string & message)
protected

Создает новый коммит (сохранение) с указанным сообщением.

Внутренне индексирует файлы (если необходимо) и вызывает логику коммита менеджера репозитория.

Аргументы
messageСообщение коммита.
Возвращает
true если коммит успешен, false в противном случае.

◆ createTestDirectory()

void svcs::test::cli::utils::HistoryCommandTest::createTestDirectory ( const std::string & dirname) const
protected

Создает тестовую директорию во временном расположении.

Аргументы
dirnameОтносительный путь/имя директории.

◆ createTestFile()

void svcs::test::cli::utils::HistoryCommandTest::createTestFile ( const std::string & filename,
const std::string & content ) const
protected

Создает тестовый файл с указанным содержимым во временной директории.

Аргументы
filenameОтносительный путь/имя файла.
contentСодержимое для записи в файл.

◆ SetUp()

void svcs::test::cli::utils::HistoryCommandTest::SetUp ( )
overrideprotected

Настраивает тестовое окружение перед каждым тестом.

Инициализирует компоненты, создает временную директорию и инициализирует репозиторий.

◆ stageFiles()

void svcs::test::cli::utils::HistoryCommandTest::stageFiles ( const std::vector< std::string > & files) const
protected

Индексирует список файлов с использованием логики индексации RepositoryManager.

Аргументы
filesВектор имен файлов для индексации.

◆ TearDown()

void svcs::test::cli::utils::HistoryCommandTest::TearDown ( )
overrideprotected

Очищает тестовое окружение после каждого теста.

Очищает временную директорию и восстанавливает рабочий путь.


Объявления и описания членов классов находятся в файлах: