A BDD Testing framework for python
Project description
Pyne Testing Framework
Pyne is a BDD style testing framework for Python. It's styled after frameworks for other languages like Mocha, Jasmine, Spectrum, and Rspec.
An example pyne test:
@pyne
def some_file():
@describe("when two numbers are added together")
def _():
@before_each
def _(self):
self.calculator = Calculator()
@it("returns the sum")
def _(self):
expect(self.calculator.calculate("22 + 11")).to_be(33)
You can see more examples in the examples folder
Running tests
Run a file
python some_test.py
Run all tests
To run all the tests in a directory, you can use the cli:
./pyne/cli.py
Run only some tests
You can focus on a single test by using @fit
instead of @it
Or a single describe block by using @fdescribe
instead of @describe
Using Test Doubles
Spying
In order to spy on an instances methods:
from pyne.expectations import expect
from pyne.pyne_test_collector import before_each, describe, it
from pyne.test_doubles.spy import stub
from some_module import SomeClass
@describe("SomeClass")
def _():
@before_each
def _(self):
self.class_instance = SomeClass()
stub(self.class_instance, self.class_instance.some_method)
@it("gets called with something")
def _(self):
self.class_instance.some_method("something")
expect(self.class_instance.some_method).was_called_with("something")
If you need the method to still return something, you scan specify what it returns:
@before_each
def _(self):
self.class_instance = SomeClass()
stub(self.class_instance, self.class_instance.some_method)
self.class_instance.some_method.returns("some value")
Contribution / Development
For instructions on how to contribute to Pyne, read CONTRIBUTING.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
pynetest-0.2.17.1.tar.gz
(30.4 kB
view hashes)
Built Distribution
Close
Hashes for pynetest-0.2.17.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0fac0162c1bf9306deb31f9dfa99b87c1a1d2518090995a81ac8e800e5e73cef |
|
MD5 | ae019d002149f2fd8e6139c064766b9c |
|
BLAKE2b-256 | 153e4790dfd45af28342e15b2d50d04fb1b11e7ce29dd37787962077cdd0e9a0 |