forked from radiant/radiant
/
test_helper.rb
64 lines (57 loc) · 2.29 KB
/
test_helper.rb
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
54
55
56
57
58
59
60
61
62
63
64
unless defined? TEST_ROOT
ENV["RAILS_ENV"] = "test"
require 'test/unit'
TEST_ROOT = File.expand_path(File.dirname(__FILE__))
unless defined? RADIANT_ROOT
if env_file = ENV["RADIANT_ENV_FILE"]
require env_file
else
require File.expand_path(TEST_ROOT + "/../config/environment")
end
end
require 'test_help'
class ActiveSupport::TestCase
# 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.
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
# Make sure instance installs know where fixtures are
self.fixture_path = ["#{TEST_ROOT}/fixtures"]
class << self
# Class method for test helpers
def test_helper(*names)
names.each do |name|
name = name.to_s
name = $1 if name =~ /^(.*?)_test_helper$/i
name = name.singularize
first_time = true
begin
constant = (name.camelize + 'TestHelper').constantize
self.class_eval { include constant }
rescue NameError
filename = File.expand_path(TEST_ROOT + '/helpers/' + name + '_test_helper.rb')
require filename if first_time
first_time = false
retry
end
end
end
alias :test_helpers :test_helper
end
end
end