Skip to content

Setting Repositories for Unit Tests

Shlok Agarwal edited this page Jan 27, 2018 · 2 revisions

Unit tests are important to ensure continued functionality of code and test individual blocks of code.

Step 1: Install gtests

sudo apt-get install libgtest-dev

cd /usr/src/gtest

sudo cmake CMakeLists.txt

sudo make

#copy or symlink libgtest.a and ligtest_main.a to /usr/lib folder
sudo cp *.a /usr/lib

Step 2: Adding unit tests

Create a test folder in the project directory if it does not exist.

Create a file-name-test.cpp file in the test folder. file-name should be the name of the file/class for which you want to write unit test.

Find examples on how to write unit tests.

Step 3: Configure CMakeLists.txt

Add these to the CMakeLists.txt

find_package(GTest REQUIRED)
include_directories(${GTEST_INCLUDE_DIRS})
# in this example, test_pelvis_height is the name of the node and pelvis_control_interface_test is the name of the file.  
catkin_add_gtest(test_pelvis_height test/pelvis_control_interface_test.cpp)
target_link_libraries(test_pelvis_height ${catkin_LIBRARIES})

Step 4: Configure package.xml

Add these to package.xml file.

<build_depend>gtest</build_depend>
<run_depend>gtest</run_depend>

Step 5: Running Unit Tests

catkin_make
catkin_make tests
roscore # if it is not running already
rosrun tough_controller_interface test_pelvis_height
Clone this wiki locally