I'm pleased to announce BareTest 0.2. BareTest is a new test framework. I started writing it for mainly 2 reasons: * I disliked the undescriptive way you have specify tests in vanilla Test::Unit (def test_bla), compared to the much more descriptive way you do it in e.g. rspec (it "should have a very nice description") * I was pretty sure a decent test framework could be written in under 100 lines of code (and the first version of baretest, written on the flight home from railsconf09 in vegas, was indeed a whopping 37 lines of code) By this version, baretest has gotten some - to my knowledge - unique or at least rare features. Those include: * Very straightforward and terse assertions (just a block whose return value defines success/failure). * Various helpers to write assertions with better diagnostic messages and more complex tasks like raising, throwing, float imprecision, unordered collections etc. * Easy grouping of assertions into suites. * BDD style specifications/test descriptions (NOT code) that can be extracted without running the testcode. * An interactive mode, letting you examine what went wrong in a failing/erroring test within an irb session, bound to the context of the assertion that failed, showing you the full code of the assertion, even including it in the readline- history of that irb session. * An uncomplicated way to write pending assertions, have dependency testing and skip certain suites/assertions. * A colored shell formatter, diagnostic-, XML- and TAP formatter. * Adding your own formatters is trivial - a module with 4 methods to wrap. The average formatter shipped with baretest is between 20 and 50 lines. * An API to use it from code, such as rake tasks (includes an example rake-task) * A 'baretest' executable to run tests on multiple files at once, using a test- layout convention to reduce require- and setup-path-manipulation-orgies The Links: Home: http://projects.sr.brightlight.ch/projects/show/baretest Github: http://github.com/apeiros/baretest Rubyforge: http://baretest.rubyforge.org API: http://baretest.rubyforge.org/docs-0.2.0/ How to quickly try baretest without installing it: 1. Download from github and unpack (or clone) - download link: http://github.com/apeiros/baretest/tarball/8954b17def1899a10b0e6fff39ced07f6eb722ef 2. Change into the baretest directory: `cd the/baretest/directory` 3. Run the examples: `./bin/baretest examples/test.rb` That's it. Alternatively you can run baretest's own tests, and/or play with formatters: `./bin/baretest -f tap` Installing baretest 1. run `gem install baretest` (you may have to run `sudo gem install baretest`) 2. There is no 2. Installing baretest edge 1. Download from github (or clone) 2. Run `rake gem:install` (you may have to run `sudo rake gem:install`) Note for users with multiple ruby installations: the rake task will try to use the right gem executable. You can force it to use a specific one by setting the GEM env variable, e.g.: `rake gem:install GEM='gem1.9'` Using baretest 1. In your project directory, run `baretest --init`, which will create a 'tests' directory with all the basic stuff already in it. 2. Write your tests 3. Run them using `baretest` in the toplevel directory of your project. That's all folks. Looking forward to your feedback and hope you enjoy baretest :) Regards Stefan Rusterholz, aka apeiros -- Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 - sicherer, schneller und einfacher! http://portal.gmx.net/de/go/atbrowser