Skip to content

Instantly share code, notes, and snippets.

@dpickett
Created December 15, 2008 19:49
Show Gist options
  • Save dpickett/36062 to your computer and use it in GitHub Desktop.
Save dpickett/36062 to your computer and use it in GitHub Desktop.
require File.expand_path(File.dirname(__FILE__) + '/../../test_helper')
class FooHelperTest < ActionView::TestCase
end
ENV["RAILS_ENV"] = "test"
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
require "test_help"
require 'action_view/test_case'
require 'shoulda'
require 'shoulda/rails'
require 'factory_girl'
require 'matchy'
require File.expand_path(File.dirname(__FILE__) + "/factories/main_factory")
require File.expand_path(File.dirname(__FILE__) + "/factories/reviews")
require File.expand_path(File.dirname(__FILE__) + "/test_helpers/mock_test_helper")
require File.expand_path(File.dirname(__FILE__) + "/test_helpers/authenticated_test_helper")
require File.expand_path(File.dirname(__FILE__) + "/test_helpers/assertions")
begin require 'redgreen' unless ENV['TM_MODE'] rescue LoadError; end
begin require 'quietbacktrace' rescue LoadError; end
class Test::Unit::TestCase
include MockTestHelper
include Assertions
# Transactional fixtures accelerate your tests by wrapping each test method
# in a transaction that's rolled back on completion. This ensures that the
# test database remains unchanged so your fixtures don't have to be reloaded
# between every test method. Fewer database queries means faster tests.
#
# Read Mike Clark's excellent walkthrough at
# http://clarkware.com/cgi/blosxom/2005/10/24#Rails10FastTesting
#
# Every Active Record database supports transactions except MyISAM tables
# in MySQL. Turn off transactional fixtures in this case; however, if you
# don't care one way or the other, switching from MyISAM to InnoDB tables
# is recommended.
#
# The only drawback to using transactional fixtures is when you actually
# need to test transactions. Since your test is bracketed by a transaction,
# any transactions started in your code will be automatically rolled back.
self.use_transactional_fixtures = true
# Instantiated fixtures are slow, but give you @david where otherwise you
# would need people(:david). If you don't want to migrate your existing
# test cases which use the @david style and don't mind the speed hit (each
# instantiated fixtures translates to a database query per test method),
# then set this back to true.
self.use_instantiated_fixtures = false
# self.quiet_backtrace = true
# self.backtrace_silencers = [:test_unit, :gem_root, :e1]
# self.backtrace_silencers << :rails_vendor
# self.backtrace_filters << :rails_root
# Setup all fixtures in test/fixtures/*.(yml|csv) for all tests in alphabetical order.
#
# Note: You'll currently still have to declare fixtures explicitly in integration tests
# -- they do not yet inherit this setting
# fixtures :all
# Add more helper methods to be used by all tests here...
end
class ActionView::TestCase < ActiveSupport::TestCase
class TestController < ActionController::Base
attr_accessor :request, :response, :params
def initialize
@request = ActionController::TestRequest.new
@response = ActionController::TestResponse.new
#Hack Hack Hack: TestCase doesn't have context of a current url so cheat a bit
@params = {}
send(:initialize_current_url)
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment