Module: ActiveSupport::Testing::Declarative

Included in:
ActiveSupport::TestCase
Defined in:
lib/active_support/testing/declarative.rb

Instance Method Summary collapse

Instance Method Details

#test(name, &block) ⇒ Object

Helper to define a test method using a String. Under the hood, it replaces spaces with underscores and defines the test method.

test "verify something" do
  ...
end
[View source]

13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/active_support/testing/declarative.rb', line 13

def test(name, &block)
  test_name = "test_#{name.gsub(/\s+/, '_')}".to_sym
  defined = method_defined? test_name
  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