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.4.1-py2-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8eec20633911a5d31d5bdfe3a0d9fd6edfb9462295d423d3ef102386962f14a3 |
|
MD5 | 993f7b11006cb1d5ad552ec8bd5c2b39 |
|
BLAKE2b-256 | 0d76385db525a7db2de8746f527b3a5b1dbf8b93b9ee15492d86920a9e9dbbde |