我正在尝试使用capybara和rspec测试上传表单。我正在使用attach_file方法。当禁用javascript时,服务器会收到适合该文件的mimi类型的text / csv。当启用javascript运行相同的测试时,服务器会收到mime类型的application / octet-stream。
我在浏览器中测试了表单,无论是否启用了javascript,服务器都会收到正确的mime类型,因此它似乎是测试框架中的一个问题。
以下是我的测试
feature "User batch imports users" do
scenario 'without js enabled' do
login_user
visit import_admin_users_path
attach_file('Import users', "testassets/users.csv")
click_button "Import Users"
# Server recieves a mime type of text/csv
expect(page).to_not have_content('File type not supported. Please upload a csv file.')
end
scenario 'with js enabled', js: true do
login_user
visit import_admin_users_path
attach_file('Import users', "testassets/users.csv")
click_button "Import Users"
# Server recieves a mime type of application/octet-stream
expect(page).to_not have_content('File type not supported. Please upload a csv file.')
end
end
有谁知道这里发生了什么?