Online Course
GTest Framework for ROS2
Understand the GTest (Google Test) framework and how to integrate it with ROS2
Course Overview
In this course, we will talk about GTest basics and how you can use GTest to test robotics applications built on ROS2
What You Will Learn
Basics of CMake with focus on creating shared libraries
How to integrate GTest into a C++ project built using CMake
Create unit tests with GTest to verify the behavior of the library
Test assertions and available assertion types
ROS2 node testing for publishers and subscribers
Setting up a testing package for system tests with ROS2
Configuring systems tests from CMake scripts
Running full-system tests from within current ROS2 build tools
As course project you will write tests that cover a ROS2 package
100% Online
Intermediate Level
Approx. 8 hours to complete
Prerequisites
Simulated Robot Used
Neobotix MP-400 Simulation
The MP-400 can be used in more ambitious applications as an autonomous carrier of special equipment or as an experimental system in robotics research, the MP-400 masters almost all tasks, also with full ROS support.
Course Final Hands-on Project
You will practice by applying the knowledge and skills you have learned in this course in a final project. Your goal will be to validate that the software code provided performs as expected.
Syllabus
Unit 1: Course Introduction
In this course, we will talk about GTest basics and how you can use it for testing robotics applications built on ROS2.
Before we address what GTest is and how it works, let us start by clarifying what software testing is and why it is important in robotics.
Unit 2: Unit Testing with Google Test
In this unit, you will learn
- CMake basics
- How to use the GTest framework
- How to test basic assertions
Unit 3: Test Subscribers and Publishers using Google Test
- Create a subscriber/publisher node to be tested
- Test the testing process by adding a dummy test to your package
- Create the support code to run the test
- Add the node that needs to be tested
Unit 4: Full-System and Sub-System Tests
In this unit, you’ll learn:
- Create a system test that validates a complete and fully integrated ROS2 application.
- Run and observe system tests running locally.
Unit 5: Final Project
In the final project, You will practice by applying the knowledge and skills you have learned in this course in a final project. Your goal will be to validate that the software code provided performs as expected.
What our students think
“I am wholeheartedly grateful for this outstanding opportunity. I wouldn’t have found a better ROS beginner-friendly course elsewhere. Thanks, ConstructSim !“
“I have tried to start learning ROS before and that was so difficult because I didn’t understand how to start, now with these introductory courses I am very excited because I can finally start to enter this world.“
“I really enjoy the practical aspect and learning by doing. I feel like I learn way faster and with a rich understanding.”
Course creator
Roberto Zegers
Robotic Software Engineer @ The Construct / Creator of ROS courses / Instructor for the ROS2 live training program
Start Learning Now.
RESULTS GUARANTEED