Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Python BDD spec writing and running framework (Currently a thought experiment)
Python
branch: master

This branch is 9 commits behind fidothe:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
fixture_specs
rgf
spec/rgf
.gitignore
.travis.yml
CHANGELOG
LICENSE
MANIFEST.in
README.rst
TODO
cold_runner
run-tests.sh
setup.py
tox.ini

README.rst

red / green / refactor

Build Status

A currently experimental attempt at an RSpec-esque BDD testing framework for Python.

Basically we're aiming for syntax along these lines:

from rgf import describe, it

with describe("That Thing"):
    @it("test desc")
    def spec(context):
        # test code here
        assert stuff()

x_spec.py files go in a directory structure under, by convention, spec/ in the root of your project and are run using:

rgf spec

The specifics of the syntax are currently wrong, being borrowed directly from RSpec. Suggestions warmly received.

(Current front-runners are subject and context in place of describe, keeping it for the spec decorator.)

Because the spec functions are just functions, not methods, and are hoovered up by the @it decorator they're effectively anonymous and can all have the same name for ease of thinking:

with subject('This Class'):
    @it('can calculate X')
    def s(world):
        pass

    @it('can account for Y')
    def s(world):
        pass

The aim is for something pythonic, with nested context and good spec names being the primary focus: minimum magic, minimum fuss.

Something went wrong with that request. Please try again.