运行 来自自定义目录的 ctest
Run ctest from a custom dir
我有一个项目包含一些使用模板文件作为资源的单元测试代码。
所以我有这样的东西:
std::ofstream out { "../templates/file.cpp" };
但取决于我在哪里 运行 单元测试它不起作用。
我使用这些命令:
cd _build
cmake ../src
make -j 4
ctest
是否可以使用 cmake 正确管理资源(就像我们可以使用 Qt 一样)?
或者是否可以指定 ctest 运行 目录?
我尝试了这样的 --build-run-dir
选项:
ctest --build-run-dir ..
但论证无效。
非常感谢!
add_test 有一个可选参数 WORKING_DIRECTORY
允许您指定测试的工作目录。这应该允许您从单元测试代码中正确指定模板文件的路径。
引自手册:
WORKING_DIRECTORY
Set the WORKING_DIRECTORY
test property to specify the working directory in which to execute the test. If not specified the test will
be run with the current working directory set to the build directory
corresponding to the current source directory.
我有一个项目包含一些使用模板文件作为资源的单元测试代码。 所以我有这样的东西:
std::ofstream out { "../templates/file.cpp" };
但取决于我在哪里 运行 单元测试它不起作用。 我使用这些命令:
cd _build
cmake ../src
make -j 4
ctest
是否可以使用 cmake 正确管理资源(就像我们可以使用 Qt 一样)?
或者是否可以指定 ctest 运行 目录?
我尝试了这样的 --build-run-dir
选项:
ctest --build-run-dir ..
但论证无效。
非常感谢!
add_test 有一个可选参数 WORKING_DIRECTORY
允许您指定测试的工作目录。这应该允许您从单元测试代码中正确指定模板文件的路径。
引自手册:
WORKING_DIRECTORY
Set the
WORKING_DIRECTORY
test property to specify the working directory in which to execute the test. If not specified the test will be run with the current working directory set to the build directory corresponding to the current source directory.