从命令行中运行 ROS 2 中的测试

构建并运行你的测试

要编译并运行测试,只需从 colcon 中运行 test 命令。

colcon test --ctest-args tests [package_selection_args]

(其中 package_selection_args 是可选的用于 colcon 的包选择参数,用于限制构建和运行哪些包)

在测试之前引用工作空间 应该是不必要的。 colcon test 会确保测试在正确的环境中运行,并且可以访问它们的依赖项等。

检查测试结果

要查看结果,只需从 colcon 运行 test-result 命令。

colcon test-result --all

要查看确切失败的测试用例,使用 --verbose 标志:

colcon test-result --all --verbose

使用 GDB 调试测试

如果 C++ 测试失败,可以直接在构建目录中的测试可执行文件上使用 gdb 进行调试。确保以调试模式构建代码。由于之前的构建类型可能被 CMake 缓存,因此清除缓存并重新构建。

colcon build --cmake-clean-cache --mixin debug

接下来,通过 gdb 直接运行测试。例如:

gdb -ex run ./build/rcl/test/test_logging