ruby-on-rails - 将 Rspec 控制器测试从 Rails 4.2.10 迁移到 Rails 5.1.4 的问题
问题描述
旧 Rails 4.2.10 行:
post :show, "Some XML as String"
到 Rails 5.1.4
post :show, params: { ??? }
那么我在这里添加的键值对是什么?
编辑:所以目前在测试中它是这样写的:
let(:logout_request_xml) { "<soap-env:Envelope xmlns:soap-env='http://schemas.xmlsoap.org/soap/envelope/'><soap-env:Body>...more stuff...</soap-env:Body></soap-env:Envelope>" }
...
post :show, logout_request_xml
解决方案
在 Rails 5.2.2 中,以上答案都不适用于我。
@request.env['RAW_POST_DATA'] = json
在某些需要特殊类型的序列化的情况下,我在 5.1 中使用这样的代码,我将所有这些转换为:
json = { "some" => "JSON" }.to_json
post :show, body: json
推荐阅读
- firebase - Android Firebase-Analytics:无法将 null 设置为 userid 和 userproperty
- labview - 如何在 Labview 中对数字求和时增加常数?
- c# - 如何读取多个 .txt 文件中的所有文本
- java - 代理不是按照 Kafka 中的时间戳顺序提交消息吗?
- tensorflow - 导入tensorflow时出错,ImportError: DLL load failed: The specified module could not be found
- python-3.x - 芹菜任务成功但结果显示无
- php - Woocommerce中可变产品的所有变体的总库存
- java - 自定义 SonarQube 规则 - 获取列表元素类型
- go - 如何解决golang中“调用Date中缺少位置”的错误
- android - 如何使用新名称和包名称创建现有 Android Studio 项目的新 App Bundle。