Ary*_*aie 11 c++ unit-testing visual-studio-code
我一直在 Mac 上使用 Visual Studio Code 开发低级 C++ 库。它似乎非常优雅地与编译器工具链集成。但对于单元测试,我完全迷失了。市面上有无数的框架,但没有一个像 JUnit 那样被建立为标准。此外,Visual Studio Code 单元测试资源管理器的文档非常少。
哪些单元测试框架与代码前端集成得很好?应该如何建立一个单元测试项目?我正在使用 SCons,但如果需要,我可以切换到另一个构建系统。
对于 CMake。这是代码的最小设置。
CMakeLists.txt
cmake_minimum_required(VERSION 3.5.1)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_FLAGS_RELEASE "-O2")
add_library(example ./some-path/example.cpp)
project(tests)
set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.55 REQUIRED COMPONENTS unit_test_framework)
add_executable(${PROJECT_NAME} ./tests/tests.cpp)
target_include_directories(${PROJECT_NAME} PRIVATE ${Boost_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} example ${Boost_LIBRARIES})
add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD COMMAND ${PROJECT_NAME})
Run Code Online (Sandbox Code Playgroud)
任务.json
{
// See https://go.microsoft.com/fwlink/?LinkId=733558
// for the documentation about the tasks.json format
"version": "2.0.0",
"tasks": [
{
"taskName": "build",
"type": "shell",
"command": "cd build && make" // cd to your build directory
}
]
}
Run Code Online (Sandbox Code Playgroud)
现在我可以SHIFT+ CTRL+b构建我的项目,CMake 将在内置代码控制台中编译输出结束时向我显示 Boost.Tests(通过/失败)。
代码控制台的输出示例:
> Executing task: cd build && make <
[ 75%] Built target example
Scanning dependencies of target tests
[ 87%] Building CXX object CMakeFiles/tests.dir/tests/tests.cpp.o
[100%] Linking CXX executable tests
Running 74 test cases...
*** No errors detected
[100%] Built target tests
Terminal will be reused by tasks, press any key to close it.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
18163 次 |
| 最近记录: |