File: README.rdoc

package info (click to toggle)
ruby-shoulda-context 1.0.0~beta1-1
  • links: PTS, VCS
  • area: main
  • in suites: wheezy
  • size: 220 kB
  • sloc: ruby: 1,050; makefile: 3
file content (53 lines) | stat: -rw-r--r-- 1,711 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
= shoulda-context

{Official Documentation}[http://rubydoc.info/github/thoughtbot/shoulda-context/master/frames]

Shoulda's contexts make it easy to write understandable and maintainable tests for Test::Unit.
It's fully compatible with your existing tests in Test::Unit, and requires no retooling to use.

Refer to the {shoulda}[https://github.com/thoughtbot/shoulda] gem if you want to know more
about using shoulda with Rails or RSpec.

== Contexts

Instead of writing Ruby methods with lots_of_underscores, shoulda-context adds
context, setup, and should blocks...

  class CalculatorTest < Test::Unit::TestCase
    context "a calculator" do
      setup do
        @calculator = Calculator.new
      end

      should "add two numbers for the sum" do
        assert_equal 4, @calculator.sum(2, 2)
      end

      should "multiply two numbers for the product" do
        assert_equal 10, @calculator.product(2, 5)
      end
    end
  end

... which combine to produce the following test methods:

  "test: A User instance should return its full name."
  "test: A User instance with a profile should return true when sent #has_profile?."

== Assertions

It also has two additional Test::Unit assertions for working with Ruby's Array:

  assert_same_elements([:a, :b, :c], [:c, :a, :b])
  assert_contains(['a', '1'], /\d/)
  assert_contains(['a', '1'], 'a')

= Credits

Shoulda is maintained and funded by {thoughtbot}[http://thoughtbot.com/community].
Thank you to all the {contributors}[https://github.com/thoughtbot/shoulda-context/contributors].

= License

Shoulda is Copyright © 2006-2010 thoughtbot, inc.
It is free software, and may be redistributed under the terms specified in the MIT-LICENSE file.