123456789_123456789_123456789_123456789_123456789_

Class: Rails::Generators::TestCase

Overview

This class provides a TestCase for testing generators. To setup, you need just to configure the destination and set which generator is being tested:

class AppGeneratorTest < Rails::Generators::TestCase
  tests AppGenerator
  destination File.expand_path("../tmp", File.dirname(__FILE__))
end

If you want to ensure your destination root is clean before running each test, you can set a setup callback:

class AppGeneratorTest < Rails::Generators::TestCase
  tests AppGenerator
  destination File.expand_path("../tmp", File.dirname(__FILE__))
  setup :prepare_destination
end

Constant Summary

::ActiveSupport::Callbacks - Inherited

CALLBACK_FILTER_TYPES

::ActiveSupport::TestCase - Inherited

Assertion

Testing::Behaviour - Attributes & Methods

Class Attribute Summary

Class Method Summary

::ActiveSupport::TestCase - Inherited

::ActiveSupport::DescendantsTracker - Inherited

clear, descendants, direct_descendants,
store_inherited

This is the only method that is not thread safe, but is only ever called during the eager loading phase.

::ActiveSupport::Testing::Declarative - Extended

test

Helper to define a test method using a ::String.

Instance Attribute Summary

Instance Method Summary

Testing::Assertions - Included

#assert_class_method

Asserts the given class method exists in the given content.

#assert_directory
#assert_field_default_value

Asserts the given attribute type gets a proper default value:

#assert_field_type

Asserts the given attribute type gets translated to a field type properly:

#assert_file

Asserts a given file exists.

#assert_instance_method

Asserts the given method exists in the given content.

#assert_method
#assert_migration

Asserts a given migration exists.

#assert_no_directory
#assert_no_file

Asserts a given file does not exist.

#assert_no_migration

Asserts a given migration does not exist.

Testing::Behaviour - Included

#create_generated_attribute

Create a GeneratedAttribute by supplying the attribute type and, optionally, the attribute name:

#generator

Instantiate the generator.

#run_generator

Runs the generator configured for this class.

::ActiveSupport::TestCase - Inherited

::ActiveRecord::TestFixtures - Included

::ActiveSupport::Testing::TimeHelpers - Included

#travel

Changes current time to the time in the future or in the past by a given time difference by stubbing Time.now, Date.today, and DateTime.now.

#travel_back

Returns the current time back to its original state, by removing the stubs added by travel and travel_to.

#travel_to

Changes current time to the given time by stubbing Time.now, Date.today, and DateTime.now to return the time or date passed into this method.

::ActiveSupport::Testing::Assertions - Included

#assert_difference

Test numeric difference between the return value of an expression as a result of what is evaluated in the yielded block.

#assert_no_difference

Assertion that the numeric result of evaluating an expression is not changed before and after invoking the passed in block.

#assert_not

Assert that an expression is not truthy.

::ActiveSupport::Callbacks - Inherited

#run_callbacks

Runs the callbacks for the given event.

Class Attribute Details

.current_path (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.current_path?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.default_arguments (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.default_arguments?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.destination_root (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.destination_root?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.generator_class (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

.generator_class?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

Instance Attribute Details

#current_path (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#current_path?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#default_arguments (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#default_arguments?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#destination_root (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#destination_root?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#generator_class (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments

#generator_class?Boolean (rw)

[ GitHub ]

  
# File 'railties/lib/rails/generators/testing/behaviour.rb', line 15

class_attribute :destination_root, :current_path, :generator_class, :default_arguments