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', Flaot64, 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.11.linux-x86_64.tar.gz (15.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pyrostest-0.1.11-py2-none-any.whl (13.4 kB view details)

Uploaded Python 2

File details

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

File metadata

File hashes

Hashes for pyrostest-0.1.11.linux-x86_64.tar.gz
Algorithm Hash digest
SHA256 b65b18e065ab2697c5733e99012e369fcd51e94abce96b31d8d4d90b61f07cc5
MD5 10f74cefc7a41797b88314e220b241e5
BLAKE2b-256 2126b6f7d743a8f424d8ea47028c62f18baf22ecf1b4db759f9172975ae26b3c

See more details on using hashes here.

File details

Details for the file pyrostest-0.1.11-py2-none-any.whl.

File metadata

File hashes

Hashes for pyrostest-0.1.11-py2-none-any.whl
Algorithm Hash digest
SHA256 bbaf21583c844f66a2d8c5498e8900f942957fe70ec2c28dc8a9d8a69aa268eb
MD5 38cd5c323ac6f2b78f988066e64a48fa
BLAKE2b-256 c6a356b615b5a9318f9439a6e6af0bc10ed41808ea032e36b41f8ff593a92ea3

See more details on using hashes here.

Supported by

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