Learn more  » Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Bower components Debian packages RPM packages NuGet packages

vistahigherlearning / logstash   deb

Repository URL to install this package:

/ opt / logstash / vendor / bundle / jruby / 1.9 / gems / shoulda-context-1.1.6

  ..
  bin
  gemfiles
  lib
  rails
  tasks
11y   .gitignore
11y   .ruby-version
11y   .travis.yml
11y   Appraisals
11y   CONTRIBUTING.md
11y   Gemfile
11y   MIT-LICENSE
11y   README.md
11y   Rakefile
11y   init.rb
11y   shoulda-context.gemspec

shoulda-context Gem Version Build Status

Official Documentation

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 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 calculator should add two numbers for the sum."
"test: a calculator should multiply two numbers for the product."

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. shoulda-context is maintained by Travis Jeffery. Thank you to all the contributors.

License

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