# Rtest Documentation ```{toctree} --- maxdepth: 2 titlesonly: true hidden: true --- Installation/index Tutorials/index Concepts/index Contact Contributing FeatureStatus cpp_api_docs ``` Welcome to the documentation for Rtest - a ROS 2 Unit Testing Framework! **Rtest** is a framework for writing and running tests in ROS 2. It provides a set of tools and libraries to help developers create, manage, and execute tests for their ROS 2 packages. The framework is designed to be easy to use and integrate with existing ROS 2 workflows. It is compatible with the ROS 2 build system and can be used with any ROS 2 package. The framework is actively maintained and updated to support the latest features and improvements in ROS 2. **Rtest** is open source and available under the Apache 2.0 license. The source code is freely available and published on [github.com](https://github.com/Beam-and-Spyrosoft/rtest) ### Getting started - [Installation](Installation/index.md) - Integrating Rtest with your ROS 2 package tests - [Tutorials](Tutorials/index.md) - The best place to start for new users! - Hands-on sample unit tests that help you write you ow test - [Concepts](Concepts/index.md) - Detailed explanation of underlying concepts and mechanisms - [Contact](Contact.md) - Answers to your questions or professional support for ROS 2 projects ### Rtest Project - [Contributing](Contributing.md) - Best practices and methodology for contributing to Rtest - [Feature Status](FeatureStatus.md) - Features in the current release ### Documentation - [C++ API](cpp_api_docs.md) - A complete list of its main components and features. ### Quality Declaration This package claims to be in the **Quality Level 3** category, see the Quality Declaration for more details. > **LIMITATION**: The `rtest` framework has a significant limitation, in order to test the implementation against ROS 2, access to the source code of those components is required. They need to be directly included in the test build process. For example: testing interactions with components coming from external dependencies, such as those installed from system repositories, is not possible. In such cases, the source code of those packages must be downloaded and included in the workspace source tree.