Boost.TEST with CLion: "Test framework quit unexpectedly"
Boost.TEST with CLion: "Test framework quit unexpectedly"
我在mac os mohave上使用CLion。我尝试将 Boost.TEST 添加到我的 c++ 项目中,但 IDE 抛出"测试框架意外退出"。
这是我的CMakeLists:
cmake_minimum_required(VERSION 3.12)
project(sequences)
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
set(CMAKE_CXX_STANDARD 11)
add_executable(sequences main.cpp)
target_link_libraries(sequences ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
enable_testing()
还有一个简单的测试:
#include <iostream>
#include <boost/test/unit_test.hpp>
BOOST_AUTO_TEST_CASE(test) {
BOOST_CHECK_EQUAL(1, 1);
}
using namespace std;
int main() {
std::cout << "Hello, World!" << std::endl;
return 0;
}
jetbrains网站上的说明是关于使用Boost.TEST的虚假说明,我在网上找到的所有解决此问题的方法都已经过时了。
我使用安装了自制软件的Boost v.1.67.0。
控制台输出:
测试于09:48开始... .../序列 --run_test=测试 --logger=HRF,all --color_output=false --report_format=HRF --show_progress=no 世界您好! 进程已完成,退出代码为 0
感谢所有的帮助和建议!
感谢您的帮助。我最终创建了一个用于测试的模板项目。然后,我使用实际代码将此项目复制到我的项目中,并添加 add_subdirectory(name_of_the_directory_with_boost_test_project( 到 CMakeFile 中。
之后,您可以在CLion中获得"运行所有测试"功能。
程序代码和测试代码应分开。如文档中所述,该行
#define BOOST_TEST_MODULE My Test
创建主入口点。
我不知道是否可以在main.cpp中编写测试用例。在单元测试中,检查组件的接口。
CMakeLists.txt:
cmake_minimum_required(VERSION 3.12)
project(sequences)
find_package(Boost COMPONENTS unit_test_framework REQUIRED)
include_directories(${Boost_INCLUDE_DIRS})
set(CMAKE_CXX_STANDARD 11)
add_executable(main src/main.cpp)
add_executable(test1 src/test1.cpp)
target_link_libraries(test_suite1 ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
enable_testing()
add_test(NAME test_suite1 COMMAND test_suite1)
主.cpp
#include "MyMath.h"
int main() {
MyMath mm;
mm.add(1,2);
return 0;
}
MyMath.h:
#ifndef MY_MATH_H
#define MY_MATH_H
class MyMath {
public:
int add(int l, int r) { return l + r; }
};
#endif
测试1.cpp:
#define BOOST_TEST_MODULE My Test
#define BOOST_TEST_DYN_LINK
#include <boost/test/unit_test.hpp>
#include "MyMath.h"
BOOST_AUTO_TEST_CASE(test) {
MyMath mm;
BOOST_CHECK_EQUAL(mm.add(1,2), 3);
}
现在我可以使用 cmake 构建它并使用 ctest 进行测试。
相关文章:
- 如何使用 Google Test 向测试添加元数据 / 如何将数据从 Google Test 发送到 TestEven
- Boost.TEST with CLion: "Test framework quit unexpectedly"
- Google Test for OpenCv c++
- 使用 Google Test 对自定义断言函数进行单元测试
- 构建 TensorFlow r1.14 C++文件时缺少文件"tensorflow/core/framework/types.pb.h"
- 柯南,CMake.test()生成XML报告
- 如何在 google test in windows 中管理断言
- google test PrintTo for std::set<std::string>
- 我正在尝试学习如何在 c++ 中传递指针,但出现错误:没有用于调用"test"的匹配函数。我做错了什么?
- Xcode Test Navigator 如何在纯C++项目中显示 Google 测试
- WM_PAINT消息频率:C#(.Net Framework 4.7.2 WinForms)与C++
- 如何期望通过使用Google Test(Mock)以特定频率调用函数
- 无法将 Google Test NuGet 包添加到 Visual Studio Linux C++ 项目中
- 错误:无效使用非静态成员函数"int test::hotplug_callback(libusb_contex
- 为什么会给出"multiple test case"错误?
- 使用 C++ Boost.Test 组织单元测试?
- Caffe在net_.reset上打印整个protext文件(new Net<float>(model_file,TEST))
- Google Test:错误 LNK2019:使用 Visual Studio 2017 与 CMake 进行未解析的外
- C ++ Google test (gtest):如何创建自定义断言和期望?
- 如何将 Chromium Embedded Framework 与 Visual Studio 2017 (C++) 一