Создал юнит-тест 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
Почему нету ошибки?
Надо в теле после инклюда начать примерно так:
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
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пытаюсь переделать данные методы в stream, используя filter и map методы
Мною была прочитана статья на хабре о TLAB Понятно, что у каждого трэда есть свои выделенные куски памятиНо откуда они выделяются? Из хипа? Наблюдаю...
Хочу разработать фронт на vue, который крутится на nodejsСерверная часть будет на spring boot через restapi
у меня код у кнопки, где задержка на закрытие активити, как я бы мог по нажатию другой кнопки останавливать его?