Create a gist now

Instantly share code, notes, and snippets.

Use feature, background, and scenario blocks to write acceptance tests in test/unit
# Use feature, background, and scenario blocks to write acceptance tests in test/unit
# which are really just integration tests. include capybara or webrat or something and voila.
# test/acceptance_helper.rb
require 'test_helper'
module ActionDispatch
class AcceptanceTest < ActionDispatch::IntegrationTest
class << self
alias :background :setup
alias :scenario :test
end
end
end
class Object
def feature(name, &block)
Kernel.
const_get(name.classify+"AcceptanceTest").
instance_eval(&block)
end
end
# Now you can do something like this:
require 'acceptance_helper'
feature "Checkout" do
background do
create_user :name => "joe"
login_as "joe"
end
scenario "should be able to complete a standard checkout" do
visit "/checkout"
click("checkout")
# ...
page.should have_css(".quote", :text => "Thank you")
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment