A plugin for nose2 implementing behavior-driven testing.
Project description
A plugin for running behavior-driven tests using gherkin inside nose2.
Usage
To enable planterbox for your project, you’ll want to add the following lines (or similar) to your unittest.cfg:
[unittest]
plugins = planterbox
[planterbox]
always-on = True
planterbox is compatible with nose2.plugins.mp.
Writing Tests
planterbox tests exist inside a python package which provides a context or “world” for their execution. You should write your tests in .feature files in the package directory. .feature files have access to all steps defined in or imported into their package’s __init__.py. For example, with the directory structure:
planterbox/ tests/ test_feature/ __init__.py basic.feature
If __init__.py contains:
from planterbox import step
@step(r'I add (\d+) and (\d+)')
def add(test, a, b):
a = int(a)
b = int(b)
test.result = a + b
@step(r'the result should be (\d+)')
def check_result(test, value):
value = int(value)
test.assertEqual(test.result, value)
basic.feature could contain:
Feature: Basic Tests
I want to exercise generation of a simple test from a feature.
Scenario: I need to verify basic arithmetic.
Given I add 1 and 1
Then the result should be 2
We could then run this test either by running all of the tests in the suite with nose2 or run it specifically with nose2 planterbox.tests.test_feature:basic.feature. We could even run the first scenario specifically with nose2 planterbox.tests.test_feature:basic.feature:0.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.