ctest 抱怨 "No test configuration file found!"
ctest complains "No test configuration file found!"
使用 CMake 我尝试使用 CTest 执行一个简单的测试。我将此配置全部放在一个目录中(${CMAKE_SOURCE_DIR}):
~$ cat hello.cpp
#include <iostream>
int main() {
std::cout << "hello world\n";
return(0);
}
~$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
project(TEST_CTEST)
enable_testing()
add_executable(test_ctest hello.cpp)
add_test(my_test ./build/test_ctest)
然后我执行:
~$ rm -rf Testing/ build/
~$ cmake -S . -B build
~$ cmake --build build
~$ ./build/test_ctest
hello world
~$ ctest
*********************************
No test configuration file found!
*********************************
Usage
ctest [options]
我在其他问答中找到的唯一提示是将 enable_testing()
放入根目录 CMakeLists.txt
。我觉得我只是漏掉了一点东西,但我找不到什么。
如何 运行 使用 CTest 进行测试?
宏enable_testing()
在构建目录中创建ctest 配置文件。要找到此文件,ctest
需要来自 build 目录的 运行。
来自源目录的 运行 ctest
没有任何意义,因为它看不到 CMake 的结果(除非您进行源代码构建)。
使用 CMake 我尝试使用 CTest 执行一个简单的测试。我将此配置全部放在一个目录中(${CMAKE_SOURCE_DIR}):
~$ cat hello.cpp
#include <iostream>
int main() {
std::cout << "hello world\n";
return(0);
}
~$ cat CMakeLists.txt
cmake_minimum_required(VERSION 3.18)
project(TEST_CTEST)
enable_testing()
add_executable(test_ctest hello.cpp)
add_test(my_test ./build/test_ctest)
然后我执行:
~$ rm -rf Testing/ build/
~$ cmake -S . -B build
~$ cmake --build build
~$ ./build/test_ctest
hello world
~$ ctest
*********************************
No test configuration file found!
*********************************
Usage
ctest [options]
我在其他问答中找到的唯一提示是将 enable_testing()
放入根目录 CMakeLists.txt
。我觉得我只是漏掉了一点东西,但我找不到什么。
如何 运行 使用 CTest 进行测试?
宏enable_testing()
在构建目录中创建ctest 配置文件。要找到此文件,ctest
需要来自 build 目录的 运行。
运行 ctest
没有任何意义,因为它看不到 CMake 的结果(除非您进行源代码构建)。