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 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.
Source Distribution
Built Distribution
Hashes for planterbox-0.6.0-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1bdd9a7d5ced89ebc74f25405b3227a3fb80769f7e788d96e4b61dbb18fdf2b9 |
|
MD5 | 07b52119909e40c9b591cfee92c4bff2 |
|
BLAKE2b-256 | f34deafaab6fc2a5d561879dd4c1f92ff2c9e98fc1f79af2b28e8ce584993f62 |