Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
Разработка программного обеспечения

Frequently Asked Questions

Boost , Boost.Test , Boost.Test

Boost C++ Libraries

...one of the most highly regarded and expertly designed C++ library projects in the world. Herb Sutter and Andrei Alexandrescu, C++ Coding Standards

PrevUpHomeNext

Where the latest version of the Boost Test Library is located?

Последняя версия Библиотеки тестирования Boost доступна онлайн по адресу http://www.boost.org/libs/test.

I found a bug. Where can I report it?

Вы можете отправить сообщение об ошибке в список рассылки пользователей и/или заполнить билет здесь https://svn.boost.org/trac/boost/.

I have a request for a new feature. Where can I ask for it?

Вы можете отправить запрос в список рассылки разработчиков и/или заполнить билет здесь https://svn.boost.org/trac/boost/.

How to create test case using the Unit Test Framework?

Чтобы создать тестовый пример, используйте макрос

BOOST_AUTO_TEST_CASE( test_function );

Более подробную информацию см. в документе Unit Test Framework BOOST_AUTO_TEST_CASE.

How to create test suite using the Unit Test Framework?

Для создания тестового набора используйте макрос

BOOST_AUTO_TEST_SUITE( suite_name );

Более подробную информацию см. в документе Unit Test Framework BOOST_AUTO_TEST_SUITE.

Why did I get a linker error when compiling my test program?

Компоненты Boost Test Library предоставляют несколько вариантов использования: для создания тестовой программы можно связать с одним из предварительно составленных вариантов библиотеки или использовать вариант с одним заголовком. Например, для использования Unit Test Framework вы можете использовать

#include <boost/test/unit_test.hpp>

и связываться с

libunit_test_framework.lib

или вы можете включить

#include <boost/test/included/unit_test.hpp>

в этом случае вам не нужно связываться с каким-либо предварительно составленным компонентом. Обратите внимание, что вы должны строго следовать спецификации функции инициализации в другом случае, когда некоторые компиляторы могут привести к такой ошибке.

Unresolved external init_unit_test_suite(int, char**).

Причина этой ошибки заключается в том, что в вашей реализации следует указать второй аргумент init_unit_test_suite точно так же, как в спецификации, т.е.: char*[].

How can I redirect testing output?

Использовать

unit_test_log::instance().set_log_output( std::ostream & )

Более подробную информацию см. в документации Unit Test Framework Output test stream.

I want different default log trace level

Используйте переменную среды BOOST_TEST_LOG_LEVEL для определения желаемого уровня трассировки журнала. Вы все равно сможете сбросить это значение из командной строки. Список приемлемых значений см. в документации Unit Test Framework runtime configuration.

Is there DLL version of Boost.Test components available on Win32 platform?

Да, начиная с повышения 1,34.0.

How to set up a CMake project using Unit Test Framework (extended)

Предположим, вы создаете тестовый модуль из одного блока перевода test_file.cpp. Во-первых, давайте сделаем это, используя вариант использования single-header Unit Test Framework.

Давайте вставим следующий контент в CMakeLists.txt в том же месте, что и наш тестовый файл test_file.cpp:

cmake_minimum_required(VERSION 2.8.7)
project(my_first_test)
enable_testing()
# indicates the location of the boost installation tree.
# hard-coded for our simple example.
set(BOOST_INCLUDE_DIRS $boost_installation_prefix/include)
# creates the executable
add_executable(test_executable test_file.cpp)
# indicates the include paths
target_include_directories(test_executable PRIVATE ${BOOST_INCLUDE_DIRS})
# declares a test with our executable
add_test(NAME test1 COMMAND test_executable)

Теперь мы создадим каталог сборки для этого проекта (отдельный каталог), настраиваем и строим проект следующим образом:

> cd $test_path
> mkdir build     1
> cd build
> cmake  ..       2
> cmake --build . 3
> ctest           4

1

мы создаем каталог, посвященный сборке, чтобы избежать загрязнения источников временными файлами сборки

2

конфигурация проекта

3

эта команда строит проект, cmake приводит в действие нативный инструмент, настроенный на предыдущей командной строке

4

выполняет тесты, заявленные в проекте, и печатает отчет

Если вы используете вариант shared library Unit Test Framework, некоторые изменения должны быть сделаны в вашем CMakeLists.txt.

cmake_minimum_required(VERSION 2.8.11)
project(my_first_test)
enable_testing()
# replace XX with the version you have
set(Boost_ADDITIONAL_VERSIONS "1.XX" "1.XX.0")
# finds boost, triggers an error otherwise
find_package(Boost XX REQUIRED COMPONENTS unit_test_framework)
# creates the executable
add_executable(test_executable test_file.cpp)
# indicates the include paths
target_include_directories(test_executable PRIVATE ${Boost_INCLUDE_DIRS})
# indicates the shared library variant
target_compile_definitions(test_executable PRIVATE "BOOST_TEST_DYN_LINK=1")
# indicates the link paths
target_link_libraries(test_executable ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
# declares a test with our executable
add_test(NAME test1 COMMAND test_executable)

Теперь мы создадим каталог сборки для этого проекта (отдельный каталог), настраиваем и строим проект следующим образом:

> cd $test_path
> mkdir build 1
> cd build
> cmake -DBOOST_ROOT=$boost_installation_prefix .. 2
> cmake --build . 3
> ctest           4

1

мы создаем каталог, посвященный сборке, чтобы избежать загрязнения источников временными файлами сборки

2

конфигурация проекта, элемент конфигурации BOOST_ROOT указывает модуль Boost cmake, где найти нашу установку

3

эта команда строит проект, cmake приводит в действие нативный инструмент, настроенный на предыдущей командной строке

4

выполняет тесты, заявленные в проекте, и печатает отчет


PrevUpHomeNext

Статья Frequently Asked Questions раздела Boost.Test Boost.Test может быть полезна для разработчиков на c++ и boost.




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.



:: Главная :: Boost.Test ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-30 11:47:00
2025-07-04 20:49:56/0.0067369937896729/0