Specification tests within Python unittests


License
MIT
Install
pip install unitspec==1.1.10

Documentation

unitspec

Specification tests within Python unittests

Sample:

from unitspec import SpecTestCase

class UnitSpecTests(SpecTestCase):

    def test_string_addition(self, ctx):

        ctx.value = "A"

        def given_string_AB(ctx):
           ctx.value += "B"

        def when_adding_C(ctx):
            ctx.result = ctx.value + "C"

        def it_should_be_ABC(ctx):
            self.assertEqual(ctx.result, "ABC")

        def it_should_not_be_AB(ctx):
            self.assertNotEqual(ctx.result, "AB")

        def cleanup_after_test(ctx):
            ctx.value = None

the output will be:

* SPEC: test sample spec
  given string AB
  when adding C
    > it should be ABC
    > it should not be AB
  cleanup after test

descendants of the 'SpecTestCase' allowed to combine common unittest methods with the spec-based.