mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
4dae3649f0
If no block is provided to the test method, a default test will be generated which simply flunks. This makes it easy for you to generate a list of what you intend to do, then flesh it out with actual tests.
24 lines
654 B
Ruby
24 lines
654 B
Ruby
require 'test/unit/testcase'
|
|
require 'active_support/testing/default'
|
|
require 'active_support/testing/core_ext/test'
|
|
|
|
|
|
module ActiveSupport
|
|
class TestCase < Test::Unit::TestCase
|
|
# test "verify something" do
|
|
# ...
|
|
# end
|
|
def self.test(name, &block)
|
|
test_name = "test_#{name.gsub(/\s+/,'_')}".to_sym
|
|
defined = instance_method(test_name) rescue false
|
|
raise "#{test_name} is already defined in #{self}" if defined
|
|
if block_given?
|
|
define_method(test_name, &block)
|
|
else
|
|
define_method(test_name) do
|
|
flunk "No implementation provided for #{name}"
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|