我有以下步骤定义:
When /^I upload it$/ do
end
这与文件上传有关。capybara 中的访问方法,据我所知,这是一个仅限 GET 的方法.. 进行 POST 请求的唯一方法是通过实现:
visit "/files/new"
within('#upload-form') do
attach_file('File', @files_path+'/file.txt')
click_button('Upload')
end
这似乎不是一个非常强大的测试,因为它依赖于文件/新模板中的 HTML 和表单标签。
有没有更好的方法来处理这个问题,或者这样做可以吗?我想到了这样的事情:
发布 files_new_path { 文件:=> 'a_file_on_the_system.txt' }
但是黄瓜测试又是集成测试..那么在这个级别编写测试的“官方”或最佳方式是什么?