小编use*_*920的帖子

如何在 VSCode 中配置 launch.json 以从新的测试资源管理器视图调试单元 ctest(cmake)?

我有两个 cmake 单元测试来检查 url 和 json 帮助程序类,在我的项目的 CMakeLists.txt 中声明,如下所示:

########################################
# CMakeLists.txt - Tests               #
########################################
add_executable(urltest test/url.cpp)
add_test(NAME URLTest COMMAND urltest)

add_executable(jsontest test/json.cpp)
add_test(NAME JSONTest COMMAND jsontest )
Run Code Online (Sandbox Code Playgroud)

我在 VSCode 的测试视图中直观地获得了测试单元,并且我可以在发布模式下完美运行这两个单元: 在发布模式下执行单元测试

现在,如果我想使用另一个按钮对其进行调试,我必须选择一个启动配置,这需要为每个单元测试手动创建一个启动配置: 在调试模式下执行单元测试

我当前的 launch.json 文件需要为每个单元测试提供一个配置,这是不可能维护的:

########################################
# CMakeLists.txt - Tests               #
########################################
add_executable(urltest test/url.cpp)
add_test(NAME URLTest COMMAND urltest)

add_executable(jsontest test/json.cpp)
add_test(NAME JSONTest COMMAND jsontest )
Run Code Online (Sandbox Code Playgroud)

我猜问题只是属性program,我们如何将VSCode测试视图上单击的程序映射到唯一的启动配置?例如如下所示:

{ // launch.json
    "version": "0.2.0",
    "configurations": [
        {
            "name": "CTest-urltest",
            "type": "lldb",
            "request": "launch",
            "program": "${workspaceFolder}/build/urltest", …
Run Code Online (Sandbox Code Playgroud)

c++ cmake launch ctest visual-studio-code

5
推荐指数
1
解决办法
4165
查看次数

标签 统计

c++ ×1

cmake ×1

ctest ×1

launch ×1

visual-studio-code ×1