A testing and specification framework for Python 3, heavily inspired by the amazing Spock Framework.
Powerful Python DDT (Domain Driven Testing) made easy with Nimoy’s DSL:
from nimoy.specification import Specification
class MySpec(Specification):
def my_feature_method(self):
with given:
a = value_of_a
b = value_of_b
with expect:
(a * b) == expected_value
with where:
value_of_a | value_of_b | expected_value
1 | 10 | 10
2 | 20 | 40
The Spock Framework has set a new standard as to what testing frameworks should be like - beautiful, expressive, pragmatic and fun.
The aim of this project is to port Spock to Python while maintaining the original vision as much as possible.
-
Domain Driven Testing
-
Based on
unittest
, so minimal dependencies are required and specifications are recognized by IDEs and report analyzers. -
Reduction of boilerplate code.
-
Write detailed specifications with clear distinction.
-
Auto discovery of specifications.
-
Write data-driven specifications.
-
Pretty mock behavior assertion.
-
See fancy detailed assertion failure reports including power assertions.