Как я могу выполнить модульное / интеграционное тестирование поведения управляющего кода ANSI программы?

Я начал добавлять некоторые цвета и другие функциональные возможности (сброс строк и т. Д.) В свое приложение и хотел бы провести несколько юнит-тестов, описывающих поведение.

Я знаю, что могу просто утверждать, что вывод содержит соответствующие\e[... коды, но это хрупко. С одной стороны, он потерпит неудачу, если его поменять на\033 или иным образом подвергнут рефакторингу тривиальными, но не идентичными способами.

Более того, тестирование последовательности символов на самом деле не делает то, что я хочу. Я хочу подтвердить или подтвердить, чтоповедение не изменился (или даже не работает в конкретной среде).

Есть ли разумный способ проверитьрезультат escape-последовательности ANSI? Например, могу ли я программно проверить содержимое терминала / tty?

Ответы на вопрос(1)

Ваш ответ на вопрос