RSpec/Capybara:如何模拟传入的POST请求?(机架测试已完成工作&;t) [英] rspec/capybara: how to simulate incoming POST requests? (rack-test won't work)
本文介绍了RSpec/Capybara:如何模拟传入的POST请求?(机架测试已完成工作&;t)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我需要通过Cloudmalin的POST请求接收多部分表单数据形式的传入电子邮件。帖子如下所示:
Parameters: {"to"=>"<email@exmaple.comt>", "from"=>"whomever@example", "subject"=>"my awesome subject line....
实际上,接收和解析电子邮件非常简单,因为电子邮件只发布为params:params[:to]、params[:from]等。但是,如何在Rails中模拟此POST请求?
我构建了一个虚拟Rails应用程序来测试Cloudmalin,所以我有一个实际的请求。但是,它是一个6k字符的文件,所以我想加载该文件作为POST请求的参数。我尝试使用构建的rails post和post_via_redirect方法加载文件,但它转义了所有参数("to"),这并不好。有什么想法吗?
推荐答案
因此,我最终执行了以下操作:
@parameters = { "x_to_header"=>"<#{ @detail.info }>",
"to"=>"<#{ @account.slug }@cloudmailin.net>",
"from"=>"#{ @member.email }",
"subject"=>"meeting on Monday",
"plain"=>"here is my message
and this is a new line
and two new lines
and a third new line"
}
然后:
post "/where_ever", @parameters
似乎暂时完成了这项工作
这篇关于RSpec/Capybara:如何模拟传入的POST请求?(机架测试已完成工作&;t)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文