Share code between unit and functional tests?

Hi all

I have the following helper that I use both in the unit and functional tests for my model Page:

class PagesControllerTest < ActionController::TestCase   ... private   def valid_attributes     { :short_title => "Valid short title",       :body => "<h1>Valid title</h1><p>Valid body</p>",       :parent_id => nil}   end end

Is there a convenient way to remove this duplication and source it out to a file that is loaded by both the unit and the functional test files?

Thanks Josh

Joshua Muheim wrote:

Hi all

I have the following helper that I use both in the unit and functional tests for my model Page:

class PagesControllerTest < ActionController::TestCase   ... private   def valid_attributes     { :short_title => "Valid short title",       :body => "<h1>Valid title</h1><p>Valid body</p>",       :parent_id => nil}   end end

Is there a convenient way to remove this duplication and source it out to a file that is loaded by both the unit and the functional test files?

With RSpec, you could use spec_helper; with TestCase, I don't know if there's a standard location.

However, in either case, there's a better solution to this particular issue. If you use Machinist, these attributes could go into a named blueprint.

Thanks Josh

Best,

You can add it to the test_helper.rb file and it will be included in all your default tests. Alternatively you could simply put it in a module (in a separate file in RAILS_ROOT/test and then "include" it in test_helper.rb or the individual test classes as you need.