12.07-rostest学习

ROS测试

前言

  • 基础

TOC

参考

ROSTest 学习

  • rostest是roslaunch的扩展,允许跨越多节点进行测试!文件格式可以是.test或.launch,非常建议将测试launch文件嵌入到普通launch文件中

编写测试

前期概念

  • 两种层次上的测试:一种是节点层级的测试,主要测试节点与节点之间的交互是否有效,如消息订阅,服务请求等;另一种是代码层级的测试,主要测试节点内部具体执行的程序的有效性,如特定算法。
  • 实际上需要编写一些测试节点来运行测试,rostest基于gtest框架

编写

Writing C++ tests with gtest

构造描述文件

  • CMakeLists
if(CATKIN_ENABLE_TESTING)
  find_package(rostest REQUIRED)
  add_rostest_gtest(tests_mynode test/mynode.test src/test/test_mynode.cpp [more cpp files])
  target_link_libraries(tests_mynode ${catkin_LIBRARIES})
endif()
  • Package.xml
  • launch file
<launch>
  <node pkg="mypkg" type="mynode" name="mynode" />
  <test test-name="test_mynode" pkg="mypkg" type="test_mynode" />
</launch>

launch 文件会启动节点后立即启动测试节点

运行

项目:测试zsDoor项目

posted @ 2019-07-01 23:19  哈骑士  阅读(1113)  评论(0编辑  收藏  举报