I want to build a spike solution that does this:
- Present a form UI to the user
- Each button or form group fires an event, a command, or an exception
- Three modes in sequence:
- Events may be fired only in the modes
- Commands may be fired only in the
- In the
thenmode, either a exception or a chain of events may be issued but not both
- Either or both
thenmay be empty sequences of events
- The user proceeds through the given/when/then in order, advancing manually through the UI
- It's possible to commit the test case in the end, or wipe and start over a test case at any time
- Final product is an XML or JSON structure with the committed test cases
Each such UI is of course very tailored to the commands/events/exceptions in the model, so these must've been designed already. But the point is that it should be dead easy to put together a UI from them — maybe even automatically mapped from an
.xsd file (but manually improvable).
The framework for recording tests in this way can then be re-used between projects. Since the output is in a neutral data format, it can be used in any setting with any language.