我应该如何指定要在Rails应用程序的Minitest测试中读取的文件?

时间:2015-02-23 07:03:45

标签: ruby-on-rails minitest

在我在Rails中的基于MiniTest的测试中,我想要读取表示虚拟数据的文件 - 例如,Webmock使用的响应或来自用户的输入。

指定这些文件位置的最佳方法是什么?

目前,我正在使用自己的帮助函数执行File.join到达test/fixtures/files文件夹,并在那里查找文件。

是否有更“传统”的做法?

1 个答案:

答案 0 :(得分:0)

我跟着你的主角,我也将测试文件放在/test/fixtures/files/*.*

# from test_helper.rb
class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  fixtures :all

  self.use_instantiated_fixtures = true


  # Add more helper methods to be used by all tests here...

  def read_file name
    filepath = "#{Rails.root}/test/fixtures/files/#{name}"
    return File.read(filepath)
  end
end

然后我称之为:

# from html_import_test.rb
class HtmlImportTest < ActionController::TestCase

  test 'read html' do

    html = read_file 'test.html'
  end  

end