基于CLion,在ROS中使用gtest进行单元测试

基于CLion,在ROS中使用gtest进行单元测试
ROS GTest CLion

在进行ROS开发的过程中,需要进行GTest单元测试,使用的IDE为CLion,下面将讲述具体的配置方法。

安装GTest

使用下列命令安装GTest。

sudo apt-get install libgtest-dev

配置CMakeList.txt

在ROS中的package对应的CMakeLIst.txt中,添加对应的脚本指令。

############### Testing ################# Add gtest based cpp test target and link libraries# catkin_add_gtest(${PROJECT_NAME}-test test/test_local_map_management.cpp)# if(TARGET ${PROJECT_NAME}-test)# target_link_libraries(${PROJECT_NAME}-test ${PROJECT_NAME})# endif()## Add folders to be run by python nosetests# catkin_add_nosetests(test)if (CATKIN_ENABLE_TESTING)    find_package(rostest REQUIRED)    catkin_add_gtest(test_project test/test_file.cpp)    target_link_libraries(test_project            ${PROJECT_NAME}            )endif ()

上述指令中,test_project是指要建立的测试的项目,而test/test_file.cpp是指test文件夹中建立测试文件test_file.cpp,该文件中编写了测试代码。同时还有main()函数。

编写单元测试程序

在test/test_file.cpp文件中编写测试代码,模板大概如下:

#include <gtest/gtest.h>#include <boost/shared_ptr.hpp>#include <iostream>#include <random>// define the test class: MyTestClassclass MYTestClass : public testing::Test {protected:    virtual void SetUp() {        // some initialization of testing    }    virtual void TearDown() {            }protected:    // some member variance};TEST_F(MYTestClass, my_test_1) {   // some test operation}int main(int argc, char **argv) {    testing::InitGoogleTest(&argc, argv);    return RUN_ALL_TESTS();}

编译与调试

在CLion中编译选项中选中项目test_project,然后编译程序,最后选择Debug或者是Release.

推荐阅读

    学习写字楼新选择6000元主流配置

    学习写字楼新选择6000元主流配置,,这种配置需要考虑双核心的办公和娱乐平台,充分考虑办公室的办公需求和娱乐需求,以约6000元的预算和cost-e

    酷睿I7 配置

    酷睿I7 配置,配置,玩家国度啦华硕 Rampage II Extreme(3800元)如果米不够,也可以把Extreme改为Gene,不过是小板内存推荐金士顿6G DDR3 2000骇

    提高3A四核羿龙II游戏配置的性能

    提高3A四核羿龙II游戏配置的性能,,以节能环保为主题的IT产业,目前3A低端平台处理器、主板芯片组、独立开发卡性能突出,特别是在与AMD的处理

    opporeno8参数配置及价格

    opporeno8参数配置及价格,面部,亿元,Oppo的荣誉2020年1月4日,接近屏幕关闭传感器是否支持双卡:支持oppor11splus什么时候上市的Oppo R11S P

    设置里程碑|设置里程碑的方法有哪些

    设置里程碑|设置里程碑的方法有哪些,,1. 设置里程碑的方法有哪些1、通过挑战风险,突破认知,从而突破自我。只有在某些特殊的时刻,比如想法和

    查看配置:酷睿i3530集展示办公平台

    查看配置:酷睿i3530集展示办公平台,,由于时间和精力的关系,我们不可能对所有的配置进行评论,希望我们能理解,我希望我们的评论能在那些需要帮

    3500元超额值学生娱乐结构的优化配置

    3500元超额值学生娱乐结构的优化配置,,作为一个DIY的主流用户领域的学生,每个用户51学生攒机的高峰。因为学生用户没有稳定的收入来源,攒机