在我在Rails中的基于MiniTest的测试中,我想要读取表示虚拟数据的文件 - 例如,Webmock
使用的响应或来自用户的输入。
指定这些文件位置的最佳方法是什么?
目前,我正在使用自己的帮助函数执行File.join
到达test/fixtures/files
文件夹,并在那里查找文件。
是否有更“传统”的做法?
答案 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