Skip to main content
Python Software Foundation 20th Year Anniversary Fundraiser  Donate today!

Pytest Plugin for BDD

Project description

Eucalyptus - BDD plugin for Pytest

A nice fork of Aloe. Migrated from Nose to Pytest.

pypi pypi-versions builds docs coverage

pytest-eucalyptus has been built to feature the best of both worlds:

  • Aloe which implements great infrastructure and uses the original Gherkin parser.
  • pytest-bdd does not require a separate runner and benefits from the power and flexibility of Pytest.

Quick Start

  1. Create new module and add empty

  2. Install Pytest and Eucalyptus:

    pip install pytest pytest-eucalyptus
  3. Let's assume we are testing the following implementation of

        def add(*numbers):
            return sum(numbers)
  4. Write your first feature tests/calculator.feature:

        Feature: Add up numbers
        As a mathematically challenged user
        I want to add numbers
        So that I know the total
        Scenario: Add two numbers
            Given I have entered 50 into the calculator
            And I have entered 30 into the calculator
            When I press add
            Then the result should be 80 on the screen
  5. Add the definitions in tests/

        from calculator import add
        from pytest_eucalyptus import before, step, world
        def clear(*args):
            """Reset the calculator state before each scenario."""
            world.numbers = []
            world.result = 0
        @step(r'I have entered (\d+) into the calculator')
        def enter_number(self, number):
        @step(r'I press add')
        def press_add(self):
            world.result = add(*world.numbers)
        @step(r'The result should be (\d+) on the screen')
        def assert_result(self, result):
            assert world.result == float(result)
  6. Run the code

    $ pytest
============================= test session starts ==============================
platform darwin -- Python 3.7.3, pytest-4.6.3, py-1.8.0, pluggy-0.12.0
rootdir: /Users/eucalyptus-user/src/test
plugins: eucalyptus-0.3.0
collected 1 item                                                               

calculator.feature .                                                     [100%]

=========================== 1 passed in 0.01 seconds ===========================


Please find more docs here.


Pytest-Eucalyptus is licensed under the Apache License 2.0 – see the for specific details.

Project details

Download files

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

Files for pytest-eucalyptus, version 0.3.3
Filename, size File type Python version Upload date Hashes
Filename, size pytest_eucalyptus-0.3.3-py3-none-any.whl (89.7 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size pytest_eucalyptus-0.3.3.tar.gz (82.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page