channingwalton / AllThing
A testing framework
$ hg clone http://bitbucket.org/channingwalton/allthing/
Introduction
The goal of AllThing is to allow a declarative style of automated software tests that resemble specifications. It is primarily aimed at functional / system level testing rather than unit testing.
There are two basic premises for AllThing. The first is that we often need a system to be in a given state in order that we may execute some actions and verify that the results are as expected. The second is that it is precisely the resulting state of one or more tests that provides the given state of another.
Rather than writing tests that are required to run in a certain order, something that is generally regarded as a bad thing, AllThing searches for a suitable run order.
Example
The following two specifications demonstrate the essence of The AllThing.
The first specification creates a stack, makes sure that everything is as expected and makes the stack available as an 'artifact':
The second specification requires an empty stack, but does not care where it comes from. It then pushes an item onto the stack and makes sure that everything is as expected:
The AllThing will determine that it can verify these two specifications by running them in the order presented here. The 'artifact' from the first specification will be passed to the second as its 'given'.
Download
To find out more, please the distribution from http://www.stateofflow.com/projects/82/allthing-specification-framework and look at the contained documentation.
This revision is from 2009-03-28 22:10
