A Framework for Behavior Driven Development(BDD) based on stdlib's unittest
Project description
It is inspired from Ruby’s RSpec. Spec definition is based on Python decorator description.
Features
- Python decorator based “Spec” definition
- “Spec” definition is compatible with unittest.TestCase
- Spec files can execute with unittest or nosetests
- RSpec like Expectation (e.g. the[xxx].should.be[yyy])
- Decorator based “Mock” object definition
- All features can be used independently: e.g. use spec with nose.tools
- Markdown document generator from spec file
- Single code implementation for multi python version (2.5-2.7, 3.1)
Spec Example
# examples/sum_spec.py from specfor import the, spec empty_list = spec.of("empty list") int_list = spec.of("int list") @empty_list.before() def prepare(its): its.list = [] its.sum = 0 @int_list.before() def prepare(its): its.list = [2, 3, 5, 7, 11] its.sum = 28 @empty_list.that("sum") @int_list.that("sum") def sum_spec(its): result = sum(its.list) the[result].should == its.sum spec.publish(globals())
For more detail, see README.md
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
python-specfor-0.1.0.tar.gz
(23.0 kB
view hashes)