Spec-Zone.ru › CMake 3.31

FindCxxTest

Модуль поиска фреймворка для тестирования CxxTest.

Ищет пакет CxxTest и объявляет вспомогательный макрос для создания юнит-тестов и их интеграции с CTest.

Переменные ввода

CXXTEST_USE_PYTHON

Устарело начиная с версии 1.3.

Используется только в случае, если на системе обнаружены как Python, так и Perl, для управления выбором генератора кода CxxTest. Действительно только для версии CxxTest 3.

В более ранних версиях этого модуля поиска эта переменная определяла, использовался ли генератор тестов Python вместо Perl, независимо от того, какой скриптовый язык был установлен пользователем.

CXXTEST_TESTGEN_ARGS

Добавлен в версии 2.8.3.

Укажите список опций для передачи генератору кода CxxTest. Если не определено, передаётся значение %%%CODE_BLOCK_2%%.

Результатные переменные

CXXTEST_FOUND

Истина, если фреймворк CxxTest был найден

CXXTEST_INCLUDE_DIRS

Путь к каталогу заголовков CxxTest

CXXTEST_PERL_TESTGEN_EXECUTABLE

Генератор тестов на основе Perl

CXXTEST_PYTHON_TESTGEN_EXECUTABLE

Генератор тестов на основе Python

CXXTEST_TESTGEN_EXECUTABLE

Добавлен в версии 2.8.3.

Генератор тестов, фактически используемый (выбирается с помощью пользовательских предпочтений и интерпретаторов, найденных в системе)

CXXTEST_TESTGEN_INTERPRETER

Добавлен в версии 2.8.3.

Полный путь к исполняемому файлу Perl или Python на системе, на платформах, где скрипт не может быть выполнен с использованием своей строки shebang.

Команды модуля

cxxtest_add_test

Создаёт запуск CxxTest и добавляет его в набор тестов CTest:

CXXTEST_ADD_TEST(<test_name> <gen_source_file>
                 <input_files_to_testgen>...)

Параметры:

test_name

Имя теста

gen_source_file

Имя сгенерированного исходного файла, которое будет сгенерировано CxxTest

input_files_to_testgen

Список заголовочных файлов, содержащих CxxTest::TestSuite, которые необходимо включить в этот запуск

Пример использования

Следующий пример, если CxxTest найден, выполнит:

  • Вызов исполняемого файла testgen для автоматической генерации foo_test.cc в дереве бинарных файлов из "foo_test.h" в текущем каталоге исходных файлов.
  • Создаст исполняемый файл и тест с именем unittest_foo.
find_package(CxxTest)
if(CXXTEST_FOUND)
  include_directories(${CXXTEST_INCLUDE_DIR})
  enable_testing()
  CXXTEST_ADD_TEST(unittest_foo foo_test.cc
                   ${CMAKE_CURRENT_SOURCE_DIR}/foo_test.h)
  target_link_libraries(unittest_foo foo) # as needed
endif()

foo_test.h содержит:

#include <cxxtest/TestSuite.h>
class MyTestSuite : public CxxTest::TestSuite
{
public:
   void testAddition( void )
   {
      TS_ASSERT( 1 + 1 > 1 );
      TS_ASSERT_EQUALS( 1 + 1, 2 );
   }
};

© 2000–2024 Kitware, Inc. and Contributors
Licensed under the BSD 3-clause License.
https://cmake.org/cmake/help/v3.31/module/FindCxxTest.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API