Skip to main content

The most lit ros testing framework

Project description


:fire: pyrostest :fire:
=========

The most :fire: lit :fire: ros testing framework.

Pyrostest is a (more) pythonic framework for writing ros tests.

## Why pyrostest?

Writing rostests and rostunit tests is annoying. You have to write launch files
for all of your tests and then do strange things in your unittests and then
somehow the rostests and unittests will communicate. To be honest, I never could
get rostest to work. So I built something better. `pyrostest` allows you to test
your ros nodes in pure python, no need for xml files.

## Usage

Here's a minimal example of a pyrostest test. Assume you have a ros node,
`add_one` in the ros package `pkg`. The node subscribes to `input`, a Float64
message, and published to `output`, another Float64, it adds one to the input
and publishes it. This would test that functionality

```python

from pyrostest import RosTest, launch_node, mock_node
from std_msgs.msg import Float64

class TestAddOne(RosTest):
@launch_node('pkg', 'add_one')
def test_add_one(self):
with self.mock_pub('/input', Float64, queue_size=0) as p:
with self.check_topic('/output', Float64) as r:
p.send(Float64(7))
assert r.message.data == 8 # or self.assertEqual

```

This code will spin up an isolated instance of Roscore, as well as all of the
nodes needed for testing. It will then publish the float 7, and wait until the
data has been recieved, and assert about its value.



Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyrostest-0.1.13.linux-x86_64.tar.gz (12.3 kB view details)

Uploaded Source

Built Distribution

pyrostest-0.1.13-py3-none-any.whl (9.6 kB view details)

Uploaded Python 3

File details

Details for the file pyrostest-0.1.13.linux-x86_64.tar.gz.

File metadata

File hashes

Hashes for pyrostest-0.1.13.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 40da5dbe90092e2f594acf12ed131af09ad48aeda98fc6b1917033fa7076ec12
MD5 b8a02fe32edf2283ca534820d9572b88
BLAKE2b-256 602639baff85b6f9e63bc056a7441668df1905fb372e70fac846024566594e8d

See more details on using hashes here.

File details

Details for the file pyrostest-0.1.13-py3-none-any.whl.

File metadata

File hashes

Hashes for pyrostest-0.1.13-py3-none-any.whl
Algorithm Hash digest
SHA256 aa370f12e520c93c2deceff1a37aff5e2a9d1e24e80ab040ea0a32da9a382a0e
MD5 d983ca7616283cfb9498edfeadfd7d82
BLAKE2b-256 d27245d60a3d452270d10124b912b575cf761c997cee8a17eb307dbe1d1dcd67

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page