database_cleaner/features/support/feature_runner.rb

40 lines
831 B
Ruby
Raw Permalink Normal View History

class FeatureRunner
attr_accessor :orm
attr_accessor :another_orm
attr_accessor :multiple_databases
attr_accessor :strategy
attr_accessor :exit_status
attr_accessor :output
2010-05-30 23:12:58 -04:00
def strategy
@strategy || 'truncation'
end
2010-05-30 23:12:58 -04:00
def go(feature)
full_dir ||= File.expand_path(File.dirname(__FILE__) + "/../../examples/")
Dir.chdir(full_dir) do
2010-08-23 16:50:32 -04:00
ENV['ORM'] = orm
ENV['STRATEGY'] = strategy
2010-08-23 16:50:32 -04:00
if another_orm
ENV['ANOTHER_ORM'] = another_orm
else
ENV['ANOTHER_ORM'] = nil
end
2010-08-23 16:50:32 -04:00
if multiple_databases
ENV['MULTIPLE_DBS'] = "true"
else
2010-08-23 16:50:32 -04:00
ENV['MULTIPLE_DBS'] = nil
end
self.output = `#{"jruby -S " if defined?(JRUBY_VERSION)}cucumber features/#{feature}.feature`
2010-05-30 23:12:58 -04:00
self.exit_status = $?.exitstatus
end
end
2010-05-30 23:12:58 -04:00
end