RSpec/Capybara:如何模拟传入的POST请求?(机架测试已完成工作&t) [英] rspec/capybara: how to simulate incoming POST requests? (rack-test won't work)

查看:19
本文介绍了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请求?(机架测试已完成工作&amp;t)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆