gpt4 book ai didi

unit-testing - CTest-使用--test-command选项进行--build-and-test

转载 作者:行者123 更新时间:2023-12-03 14:50:25 28 4
gpt4 key购买 nike

我使用Ctest来运行一堆使用add_test()注册的Google测试。当前,这些测试没有任何参数。但是,我想在运行--gtest_output=xml时为它们提供所有参数(所有参数都通用,特别是ctest)。

我听说使用--test-command选项可以实现此目的,但是,我看到我们需要将--test-command--build-and-test一起使用。有这种用法的例子吗?

最佳答案

ctest参数的格式在CTest documentation中指定为:

ctest --build-and-test <path-to-source> <path-to-build>
--build-generator <generator>
[<options>...]
[--build-options <opts>...]
[--test-command <command> [<args>...]]


因此,例如,在Visual Studio上,您可以从构建文件夹中运行测试 Test1(将 ..用于源目录,将 .用于二进制目录):
ctest --build-and-test .. . --build-generator "Visual Studio 16 2019" --test-command Test1 --gtest_output=xml

从CMake 3.17开始,您现在可以在定义测试本身的CMake文件中指定要传递给CTest的参数(以及各个测试的参数)。 CMAKE_CTEST_ARGUMENTS变量采用以分号分隔的参数列表,以传递给CTest。因此,坚持以上示例,您可以执行以下操作:
set(CMAKE_CTEST_ARGUMENTS "--build-and-test;${CMAKE_SOURCE_DIR};${CMAKE_BINARY_DIR};--build-generator;${CMAKE_GENERATOR};--test-command;Test1;--gtest_output=xml")

关于unit-testing - CTest-使用--test-command选项进行--build-and-test,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38233861/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com