提交 5a4b4144 编写于 作者: J Jeremy Kemper

Move SubTestTask. Soften up tests.

上级 a29c681d
module Rails
# Don't abort when tests fail; move on the next test task.
# Silence the default description to cut down on `rake -T` noise.
class SubTestTask < Rake::TestTask
# Create the tasks defined by this task lib.
def define
lib_path = @libs.join(File::PATH_SEPARATOR)
task @name do
run_code = ''
RakeFileUtils.verbose(@verbose) do
run_code =
case @loader
when :direct
"-e 'ARGV.each{|f| load f}'"
when :testrb
"-S testrb #{fix}"
when :rake
rake_loader
end
@ruby_opts.unshift( "-I\"#{lib_path}\"" )
@ruby_opts.unshift( "-w" ) if @warning
begin
ruby @ruby_opts.join(" ") +
" \"#{run_code}\" " +
file_list.collect { |fn| "\"#{fn}\"" }.join(' ') +
" #{option_list}"
rescue => error
warn "Error running #{name}: #{error.inspect}"
end
end
end
self
end
end
end
require 'rbconfig'
require 'rake/testtask'
module Rails
# Don't abort when tests fail; move on the next test task.
# Silence the default description to cut down on `rake -T` noise.
class SubTestTask < Rake::TestTask
# Create the tasks defined by this task lib.
def define
lib_path = @libs.join(File::PATH_SEPARATOR)
task @name do
run_code = ''
RakeFileUtils.verbose(@verbose) do
run_code =
case @loader
when :direct
"-e 'ARGV.each{|f| load f}'"
when :testrb
"-S testrb #{fix}"
when :rake
rake_loader
end
@ruby_opts.unshift( "-I\"#{lib_path}\"" )
@ruby_opts.unshift( "-w" ) if @warning
begin
ruby @ruby_opts.join(" ") +
" \"#{run_code}\" " +
file_list.collect { |fn| "\"#{fn}\"" }.join(' ') +
" #{option_list}"
rescue => error
warn "Error running #{@name}: #{error.inspect}"
end
end
end
self
end
end
end
require 'rails/test_unit/sub_test_task'
TEST_CHANGES_SINCE = Time.now - 600
......
......@@ -63,26 +63,23 @@ def test_code_statistics_sanity
def test_rake_test_error_output
Dir.chdir(app_path){ `rake db:migrate` }
app_file "config/database.yml", <<-RUBY
development:
RUBY
app_file "test/unit/one_unit_test.rb", <<-RUBY
raise 'unit'
RUBY
app_file "test/functional/one_functional_test.rb", <<-RUBY
raise RuntimeError
raise 'functional'
RUBY
app_file "test/integration/one_integration_test.rb", <<-RUBY
raise RuntimeError
raise 'integration'
RUBY
silence_stderr do
output = Dir.chdir(app_path){ `rake test` }
assert_match(/Errors running test:units! #<ActiveRecord::AdapterNotSpecified/, output)
assert_match(/Errors running test:functionals! #<RuntimeError/, output)
assert_match(/Errors running test:integration! #<RuntimeError/, output)
output = Dir.chdir(app_path) { `rake test 2>&1` }
assert_match 'unit', output
assert_match 'functional', output
assert_match 'integration', output
end
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册