model_tests_dir |
the directory to find model-centric tests |
controller_tests_dir |
the directory to find controller-centric tests |
view_tests_dir |
the directory to find view-centric tests |
fixtures_dir |
the directory to find fixtures in |
model_tests_dir |
the directory to find model-centric tests |
controller_tests_dir |
the directory to find controller-centric tests |
view_tests_dir |
the directory to find view-centric tests |
fixtures_dir |
the directory to find fixtures in |
# File lib/generators/templates/application/merb_stack/autotest/merb.rb, line 12 def initialize super initialize_test_layout # Ignore any happenings in these directories add_exception %^\./(?:doc|log|public|tmp|\.git|\.hg|\.svn|framework|gems|schema|\.DS_Store|autotest|bin|.*\.sqlite3)% # Ignore SCM directories and custom Autotest mappings ].svn .hg .git .autotest].each { |exception| add_exception(exception) } # Ignore any mappings that Autotest may have already set up clear_mappings # Any changes to a file in the root of the 'lib' directory will run any # model test with a corresponding name. add_mapping %^lib\/.*\.rb% do |filename, _| files_matching Regexp.new(["^#{model_test_for(filename)}$"]) end # Any changes to a fixture will run corresponding view, controller and # model tests add_mapping %^#{fixtures_dir}/(.*)s.yml% do |_, m| [ model_test_for(m[1]), controller_test_for(m[1]), view_test_for(m[1]) ] end # Any change to a test will cause it to be run add_mapping %^test/(unit|models|integration|controllers|views|functional)/.*rb$% do |filename, _| filename end # Any change to a model will cause it's corresponding test to be run add_mapping %^app/models/(.*)\.rb$% do |_, m| model_test_for(m[1]) end # Any change to the global helper will result in all view and controller # tests being run add_mapping %^app/helpers/global_helpers.rb% do files_matching %^test/(views|functional|controllers)/.*_test\.rb$% end # Any change to a helper will run it's corresponding view and controller # tests, unless the helper is the global helper. Changes to the global # helper run all view and controller tests. add_mapping %^app/helpers/(.*)_helper(s)?.rb% do |_, m| if m[1] == "global" then files_matching %^test/(views|functional|controllers)/.*_test\.rb$% else [ view_test_for(m[1]), controller_test_for(m[1]) ] end end # Changes to views result in their corresponding view and controller test # being run add_mapping %^app/views/(.*)/% do |_, m| [ view_test_for(m[1]), controller_test_for(m[1]) ] end # Changes to a controller result in its corresponding test being run. If # the controller is the exception or application controller, all # controller tests are run. add_mapping %^app/controllers/(.*)\.rb$% do |_, m| if ["application", "exception"].include?(m[1]) files_matching %^test/(controllers|views|functional)/.*_test\.rb$% else controller_test_for(m[1]) end end # If a change is made to the router, run all controller and view tests add_mapping %^config/router.rb$% do # FIX files_matching %^test/(controllers|views|functional)/.*_test\.rb$% end # If any of the major files governing the environment are altered, run # everything add_mapping %^test/test_helper.rb|config/(init|rack|environments/test.rb|database.yml)% do # FIX files_matching %^test/(unit|models|controllers|views|functional)/.*_test\.rb$% end end
Generated with the Darkfish Rdoc Generator 2.