Fitster is graphical application that will edit and run fit tests. It has a variety of goals:
Fitster is currently under development by WardCunningham and BillKayser. It is being written in java using the swing toolset. Here's a screenshot.
- Speed the debugging loop for tests, fixtures and code.
- Exercise the framework in an interactive environment.
- Offer better table editing than web authoring tools.
- Support a variety of test development workflows.
- Open a path to IDE integration of fit tests.
Fitster browses directories of test files. Any or all of these can be run and the results inspected one table at a time. Tests can be rerun over and over. This is fast fast fast. Fitster has no trouble with fixtures that reorganize their tables as with the timestamp columns added by the Realtime fixture in the illustration.
Fitster will edit the contents of tables and run tests with these revisions. It runs this out of its own memory so that test files need not be saved until a test runs successfully. Fitster undoes annotations cell by cell as editing progresses. That is, one edits test data in the context of previous results without getting the two confused.
More stories to consider.
- In addition to the usual table editing commands (insert row or column) consider more radical refactoring of tabular information. Can we not drag-and-drop tables around among the files? This will require being very careful with the leader text.
- Consider browsing and editing the fixtures cited by the test. You might be able to test a program into existence without leaving Fitster.
- Fitster should dynamically load and manage code as easily as it loads and manages tests. One should be able to contruct multiple ad-hoc ClassPath(s) and easily compare test results from each.