Skip to content
ROS wrapper for the Catch unit test framework
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
include/catch_ros
src
CHANGELOG.rst
CMakeLists.txt
LICENSE
README.md
package.xml

README.md

catch_ros

catch_ros is a small ROS catkin wrapper around the very nice Catch2 unit testing framework by Phil Nash.

Usage

Usage in CMakeLists.txt:

find_package(catkin REQUIRED COMPONENTS
	...
	catch_ros
	...
)

# Variant 1: standalone test
catch_add_test(my_standalone_test
	test/my_test.cpp
)
target_link_libraries(my_standalone_test
	${catkin_LIBRARIES}
)

# Variant 2: test node used in a rostest file
catch_add_rostest_node(my_rostest_test
	test/my_test.cpp
)
target_link_libraries(my_rostest_test
	${catkin_LIBRARIES}
)

The my_standalone_test is added to the run_tests target, so it is run by the catkin test infrastructure. my_rostest_test is not added to run_tests, instead you can use it in a rostest file.

test/my_test.cpp:

#include <catch_ros/catch.hpp>

TEST_CASE("test_case", "[some tag]")
{
	REQUIRE( (1 + 1) == 2 );
}

NOTE: Do not define CATCH_CONFIG_MAIN in your code, as you will hide the definition of main() in catch_ros, which performs required command line processing and ROS initialization.

License

The catch_ros wrapper is released under BSD-3. Catch2 is licensed under the Boost license (see the Catch repository for details). We provide the single header version for convenience in this repository at include/catch_ros/catch.hpp.

Contact

If you have any questions, mail Max Schwarz (max.schwarz@uni-bonn.de).

You can’t perform that action at this time.