{"id":28851930,"url":"https://github.com/robotology/robot-testing-framework","last_synced_at":"2026-03-06T18:03:31.858Z","repository":{"id":24646884,"uuid":"28056717","full_name":"robotology/robot-testing-framework","owner":"robotology","description":"Robot Testing Framework (RTF)","archived":false,"fork":false,"pushed_at":"2021-04-30T12:25:38.000Z","size":4485,"stargazers_count":18,"open_issues_count":10,"forks_count":11,"subscribers_count":35,"default_branch":"master","last_synced_at":"2024-04-09T14:47:32.153Z","etag":null,"topics":["robot-test","test","unit-test"],"latest_commit_sha":null,"homepage":"http://robotology.github.io/robot-testing-framework/index.html","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-2.1","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robotology.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-12-15T21:18:32.000Z","updated_at":"2024-03-05T23:06:05.000Z","dependencies_parsed_at":"2022-08-23T05:01:07.557Z","dependency_job_id":null,"html_url":"https://github.com/robotology/robot-testing-framework","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"purl":"pkg:github/robotology/robot-testing-framework","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotology%2Frobot-testing-framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotology%2Frobot-testing-framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotology%2Frobot-testing-framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotology%2Frobot-testing-framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robotology","download_url":"https://codeload.github.com/robotology/robot-testing-framework/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robotology%2Frobot-testing-framework/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260837773,"owners_count":23070560,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["robot-test","test","unit-test"],"created_at":"2025-06-19T21:39:14.612Z","updated_at":"2026-03-06T18:03:31.831Z","avatar_url":"https://github.com/robotology.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Release](https://img.shields.io/github/tag/robotology/robot-testing-framework.svg?label=Release)](https://github.com/robotology/robot-testing-framework/tags)\n[![License](https://img.shields.io/badge/Licence-LGPL-blue.svg)](http://robotology.github.io/robot-testing-framework/index.html)\n[![Build Status](https://travis-ci.org/robotology/robot-testing-framework.svg?branch=master)](https://travis-ci.org/robotology/robot-testing-framework)\n[![Coverage Status](https://coveralls.io/repos/github/robotology/robot-testing-framework/badge.svg?branch=master)](https://coveralls.io/github/robotology/robot-testing-framework?branch=master)\n\n[![Language](https://img.shields.io/badge/Language-C%2B%2B-blue.svg)](http://robotology.github.io/robot-testing-framework/documentation/robottestingframework_plugin_example.html)\n[![Language](https://img.shields.io/badge/Language-ADA-blue.svg)](https://github.com/robotology/robot-testing-framework/tree/master/examples/ada-plugin)\n[![Language](https://img.shields.io/badge/Language-Python-blue.svg)](http://robotology.github.io/robot-testing-framework/documentation/robottestingframework_python_plugin_example.html)\n[![Language](https://img.shields.io/badge/Language-Ruby-blue.svg)](http://robotology.github.io/robot-testing-framework/documentation/robottestingframework_ruby_plugin_example.html)\n[![Language](https://img.shields.io/badge/Language-Lua-blue.svg)](http://robotology.github.io/robot-testing-framework/documentation/robottestingframework_lua_plugin_example.html)\n\n\n\nRobot Testing Framework\n=======================\nRobot Testing Framework is a generic and multi-platform testing framework for\nthe [test driven development (TDD)](https://en.wikipedia.org/wiki/Test-driven_development)\nwhich is initially designed for the robotic systems.\nHowever, it can be used for any TDD system.\nThe framework provides functionalities for developing and running unit tests in\na language and middleware independent manner. The test cases are developed as\nindependent plug-ins (i.e., using scripting languages or built as dynamically\nloadable libraries) to be loaded and executed by an automated test runner.\nMoreover, a fixture manager prepares the setup (e.g., running robot interfaces,\nsimulator) and actively monitors that all the requirements for running the tests\nare satisfied during the execution of the tests.\nThese functionalities along with other facilities such as the test result\ncollector, result formatter and remote interface allow for rapid development of\ntest units to cover different levels of system testing (see the block diagram).\n\n![robottestingframework-arch](/doc/robottestingframework_arch.png)\n\n\nInstallation\n------------\nRobot Testing Framework library does not depend on any external library.\nThe Robot Testing Framework framework has a robottestingframework-testrunner\nutility (see Running test case plug-ins using robottestingframework-testrunner)\nto easily run the test cases which are built as plug-ins.\nTest cases can be organized in test suites using simple XML files.\nThe robottestingframework-testrunner uses TinyXml library for parsing the suite\nXML files.\nRobot Testing Framework build system check for the installation of TinyXml and,\nin case, it cannot find any installed version of TinyXml library, it uses the\ninternal version which is delivered with the Robot Testing Framework.\n\n- **On Linux/Mac:** The installation is easy, straightforward and uses the CMake\n  build system.\n```\n    $ git clone https://github.com/robotology/robot-testing-framework.git\n    $ cd robot-testing-framework\n    $ mkdir build; cd build\n    $ cmake ../; make\n    $ make install  # Optional!\n```\n\n- **On Windows:** The installation is easy, straightforward and uses the CMake\n  build system.\n  Get [CMake for windows](https://cmake.org/download/) if you have not yet\n  installed.\n  Then simply run the CMake and, set the project (robot-testing-framework) root\n  folder and the desired build folder.\n  Configure and generate project solution for your favorite IDE (e.g. Visual\n  Studio 17).\n  Then open the solution from your IDE and build the project.\n\nConfiguration\n-------------\nThe only thing you need to configure is the `RobotTestingFramework_DIR`\nenvironment variable so that CMake can find Robot Testing Framework libraries\nand header files.\n\n- on Linux/Mac:\n```\n    $ echo 'export RobotTestingFramework_DIR=\u003cpath to the Robot Testing Framework build director\u003e' \u003e\u003e ~/.bashrc\n    $ echo 'export PATH=$PATH:$RobotTestingFramework_DIR/bin' \u003e\u003e ~/.bashrc\n```\n\n- on Windows:\n```\n    C:\\\u003e setx.exe RobotTestingFramework_DIR \"\u003cpath to the Robot Testing Framework build director\u003e\"\n    C:\\\u003e setx.exe PATH \"%PATH%;%RobotTestingFramework_DIR%/\u003cRelease/Debug\u003e/bin\"\n```\n\n*Notice:* If you have **not** installed Robot Testing Framework in the standard\nsystem path (e.g., on Linux without `make install`) then You need to expand your\nsystem `PATH` environment variable.\n\n\nEnabling Python, Ruby, Lua, ... Plugins\n----------------------------------------\nTo use Robot Testing Framework with other languages,\n - first you need to install their development packages (e.g. for Python on\n   Linux you need `python-dev`, for Ruby: `ruby-dev` or for\n   Lua: `liblua5.x-dev`).\n - then you can enable the desired language into Robot Testing Framework CMake\n   (e.g. `ENABLE_PYTHON_PLUGIN=ON` for enabling python)\n - compile and build Robot Testing Framework\n\n\nTutorials and Examples\n-----------------------\n* [*Some example codes for using Robot Testing Framework classes.*]( http://robotology.gitlab.io/docs/rtf/master/examples.html)\n\n* [*Using plug-in to develop test cases.*](http://robotology.gitlab.io/docs/rtf/master/robottestingframework_plugin_example.html)\n\n* [*Using Lua plug-in to develop test cases.*](http://robotology.gitlab.io/docs/rtf/master/robottestingframework_lua_plugin_example.html)\n\n* [*Using Python plug-in to develop test cases.*](http://robotology.gitlab.io/docs/rtf/master/robottestingframework_python_plugin_example.html)\n\n* [*Using Ruby plug-in to develop test cases.*](http://robotology.gitlab.io/docs/rtf/master/robottestingframework_ruby_plugin_example.html)\n\n* [*Running test case plug-ins using robottestingframework-testrunner*](http://robotology.gitlab.io/docs/rtf/master/robottestingframework-testrunner.html)\n\n\nDocumentation\n-------------\n* [*See Doxygen generated documentation*](http://robotology.gitlab.io/docs/rtf/master/index.html)\n* [*See Robot Testing Framework website*](http://robotology.github.io/robot-testing-framework/index.html)\n\nAuthors\n-------\n* Ali Paikan ([*personal page*](http://alipaikan.com))\n* Silvio Traversaro ([*personal page*](http://www.iit.it/en/people/silvio-traversaro.html))\n* Lorenzo Natale ([*personal page*](http://nat.liralab.it/))\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotology%2Frobot-testing-framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobotology%2Frobot-testing-framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobotology%2Frobot-testing-framework/lists"}