Как использовать библиотеку проверки с CTest для модульного тестирования в C - PullRequest
3 голосов
/ 05 февраля 2012

У меня есть проект, в котором я хочу использовать библиотеку check для модульного тестирования.

Мой текущий проект использует CMake и имеет следующую структуру:

.
├── CMakeLists.txt
├── COPYING
├── ChangeLog
├── README
├── src
│   ├── core
│   │   ├── CMakeLists.txt
│   │   └── main.c
│   ├── core-test
│   │   ├── CMakeLists.txt
│   │   └── main.c
│   └── scrypt
└── doc
    └── protocol.txt

В core-test у меня есть модульные тесты для модуля corescrypt-test у меня будут тесты для модуля scrypt и т. Д.


Имеет ли смысл использование check с CTest?

Если да: как подключить устройствопротестировать использование check для проекта CMake / CTest?Нужна ли мне дополнительная конфигурация для CTest для интерпретации результатов от check -ключаемых исполняемых файлов?

1 Ответ

2 голосов
/ 09 февраля 2012

Использование check с CTest возможно, к сожалению, не удобно.

Если модульные тесты с использованием check не пройдены, они будут засчитаны как сбой в CTest.Проблема в том, что CTest не показывает вывод приложения, которое не удалось 1 .Другим недостатком является то, что CTest не учитывает отдельные check тесты, поэтому «одиночный» неудачный тест может означать несколько check тестов.Я не смог найти способ сделать результаты проверки интерпретации CTest.


  1. Вы можете принудительно распечатать вывод, создав файл CTestCustom.cmake в build каталог (тот же, в котором вы запускаете make или ctest) со следующим содержимым:

    set (CTEST_CUSTOM_POST_TEST "cat Testing / Temporary / LastTest.log")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...