rtest
- Software
- Middleware
- Tool
A C++ testing framework for ROS 2 nodes that replaces real middleware with controllable mocks, so unit and integration tests run repeatably without flaky results.
Made by Beam and Spyrosoft.
Source on GitHub: github.com/Beam-and-Spyrosoft/rtest (opens in a new tab). Facts read at commit 755316d (opens in a new tab).
Licenses
- Code
- Apache-2.0 (opens in a new tab)
Read by Robotheca from LICENSE (opens in a new tab) (Apache-2.0) at commit 755316d (opens in a new tab), on 22 Oct 2026.
- Commercial use
- Yes
What it does
- Checks whether a tested node has created its publishers, subscribers, timers, service clients and servers, and action clients and servers.
- Sets expectations on mocked entities, such as messages published on a topic, requests sent by clients, and action goals, feedback and results.
- Injects messages and service requests directly, and fires timer callbacks under simulated time control.
- Runs tests single-threaded with controllable execution.
- Needs access to the source of the components under test, since they must be compiled directly into the test build rather than linked as libraries.
- Built on GoogleTest and GoogleMock, with rclcpp, ament_cmake_ros and an optional Pixi environment for building.
Written by Robotheca from the project's README (opens in a new tab) at commit 755316d.
Getting started
- Difficulty
- Advanced
- Hardware it needs, as the project states it
- Supported on Linux (x86_64, aarch64) and macOS (Apple Silicon, Intel) with ROS 2 Jazzy, Kilted or Lyrical Luth.
- How to start
- The project's website (opens in a new tab)
Maintenance
- Status
- Active: a commit in the last 90 days
- Newest commit
- 19 Oct 2026 on main
- Latest release
- rtest 0.2.5 (8 Oct 2026)
Checked on GitHub on 22 Oct 2026.
Links
Robots that can run it
No robot on Robotheca is linked to it yet. Links come from a robot's robot.yaml, from its dependency files read as text, or from Robotheca's editors.
Robotheca lists software as a reference: nothing is hosted or run here, and every fact links to where it was read.