Sha256: e0a7610cbfc6f2ecd7a2d072e95d2fae7b7874270de17d8d1bdb9dbd4017276a

Contents?: true

Size: 1.73 KB

Versions: 1

Compression:

Stored size: 1.73 KB

Contents

#fastest

**fastest** is a testing framework written in [6 lines of code](
https://github.com/txus/fastest/blob/master/lib/fastest.rb) (or 461 characters)
which tries to be performant, with eye-catchy reports and easy to use.

Originally named **a**, the name was too much for Google so I changed it.

Heavily inspired by Konstantin Haase's [almost-sinatra](
http://github.com/rkh/almost-sinatra), its long-term purpose is to become the
fastest testing framework available.

In order to contribute to **fastest**, you have to bear in mind that the code
**must** stay under 7 lines and with **less than 80 chars** per line. There is
room for optimization.

##Features

  * Setup / Teardown
  * Assertions (using the `a` method)
  * Report tests/assertions/failures
  * Keep track of lines where failures happened

##Install

    $ gem install fastest

Or in your Gemfile:

    gem 'fastest'

##Usage

````ruby
require 'fastest'

# Every test case must inherit from the A class
class MyTestCase < A
  def setup
    @user = { :some => :object }
  end

  def test_user_has_property
    a @user[:some] == :object
    a !@user[:other]
  end

  def teardown
    @user = nil
  end
end

class MyOtherTestCase < A
  def setup
    @foo = [1,2,3]
  end

  def test_user_has_property
    a @foo.length == 3
    a @foo[2] > 934 # Should fail at line 27

    @foo[1] = 99

    a @foo[1] != 2
  end

  def teardown
    @bar = :something
  end
end
````

And voilĂ :

![a](http://dl.dropbox.com/u/2571594/a_screenshot.png)

##Disclaimer

**fastest** has no automated tests nor documentation, and I will have to turn
down any pull request that contains those, unless the tests are written in
**fastest** itself.

## Copyright

Copyright (c) 2011 Josep M. Bach. Released under the MIT license.

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
fastest-0.0.3 Readme.md