What is it?
Rehersal is a testing framework for Scala, intended as an easier-to-use replacement for SUnit in the standard library.
Features
- A very simple, novel testing API: Test names can have spaces and real punctuation!
- Use of Expectations: Instead of assertions, which are tedious to extend, Rehersal uses Expectations.
- No Attributes! No Funny Method Names! Tests can have any name, and normal punctuation, enabling "Tests as Documentation" much more naturally.
- Can be used on the command line: Quick and easy!
- Can be used simply with a straightforward ant task Just taskdef and go
- Class Loader safe: Tests are loaded in a separate class loader, allowing garbage collection and safe destruction!
- Test Categories: Tests are categorized to allow the mixing of unit, integration, regression, etc tests in the same project...
Getting Started
- Download the latest release from Source Forge here. Look at the releases on your left
- Unpack to a folder of your choice
- Look at the source code of the example tests to see how to write tests and Expectations
- Write an ant build file; a good example is the one that builds Rehersal!
Acknowledgements
I must admit a heavy influence from both Joe Walnes and Nat Pryce, who are probably some of the finest software developer minds around. Joe wrote the first port of NMock, and Nat was heavily involved with Joe in the design of jMock. I had the pleasure of working and learning from them both whilst they were with Thoughtworks. Joe's article on flexible JUnit assertions was a big inspiration for the design of the Expectations in Rehersal.
Ade Oshineye, a ThoughtWorker whose many conversations and fervent passion for software persuaded me to ditch the cargo cults and explore esoteric languages. Thanks to Ade, I found Scala - and am loving it. If you ever need a hardcore financial systems architect, then Ade's your man...
Rafael de F. Ferreira who's 'toy app' (his words on the Scala mailing list at gmane) gave me the idea for the design of Rehersal. Here's his blog entryon it.
Ivan Moore for showing me how to Program in the Small!
Apologies to XStream for ripping off some of their page design. I couldn't find anything better.
Feedback
I'd welcome feedback on this! Positive or negative, but preferably not spam related. I've got a (not recently updated) blog here. It's bloglines so it's a bit difficult to find the articles... You can e-mail me at my yahoo.com
address as username raphaelcohn