Test project не выполняет test case

158
16 августа 2018, 22:00

Создал юнит-тест c помощью Boost Test.

main.cpp

#define BOOST_TEST_MODULE MyTest
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE( MyTest )
{
    BOOST_ERROR( "Ouch..." );           
}
int main()
{
    return 0;
}

Создал CmakeFile.

cmake_minimum_required(VERSION 2.8)
project(Test)
# Enable testing for the project
enable_testing()
set(CMAKE_CXX_STANDARD 11)
set(Boost_USE_STATIC_LIBS        ON)
set(Boost_USE_MULTITHREADED      ON)

find_package(Boost REQUIRED COMPONENTS system filesystem unit_test_framework)
include_directories(${Boost_INCLUDE_DIRS})
add_executable (Test main.cpp)
target_link_libraries (Test
        ${Boost_LIBRARIES}
        )

if(UNIX)
    target_link_libraries(${PROJECT_NAME} -pthread)
endif(UNIX)
# declares a test with our executable
add_test(NAME MyTest COMMAND Test)
> cd $test_path
> mkdir build     
> cd build
> cmake  ..       
> cmake --build . 
> ctest 

Выдает:

Test project /home/ilya-/Tests/build
    Start 1: MyTest
1/1 Test #1: MyTest ...........................   Passed    0.00 sec
100% tests passed, 0 tests failed out of 1
Total Test time (real) =   0.00 sec

Почему нету ошибки?

Answer 1

Надо в теле после инклюда начать примерно так:

BOOST_AUTO_TEST_SUITE(MyTest)
.... тут все ваши тесты с другими именами, чтоб не пересекались с Suite
BOOST_AUTO_TEST_CASE(MyTestOne)
{
    BOOST_ERROR( "Ouch..." );           
}
BOOST_AUTO_TEST_SUITE_END()
int main()
{

И в CMakeLists.txt надо добавить:

add_definitions(-DBOOST_TEST_DYN_LINK)
set (TESTS MyTest) #MovableObjectTest)
enable_testing()

Запускать тест возможно с помощью make test

READ ALSO
Вопрос по лямбдам в Java, функции map, filter

Вопрос по лямбдам в Java, функции map, filter

Пытаюсь переделать данные методы в stream, используя filter и map методы

480
JVM: где находится TLAB?

JVM: где находится TLAB?

Мною была прочитана статья на хабре о TLAB Понятно, что у каждого трэда есть свои выделенные куски памятиНо откуда они выделяются? Из хипа? Наблюдаю...

162
Front nodejs (vue) и Spring end безопасность взаимодействия

Front nodejs (vue) и Spring end безопасность взаимодействия

Хочу разработать фронт на vue, который крутится на nodejsСерверная часть будет на spring boot через restapi

193
Хотелось бы по кнопке останавливать код другой кнопки, где задержка

Хотелось бы по кнопке останавливать код другой кнопки, где задержка

у меня код у кнопки, где задержка на закрытие активити, как я бы мог по нажатию другой кнопки останавливать его?

162