Fit*_*min 5 rspec ruby-on-rails
我仍然是新的顶级游戏,所以请原谅这是一个简单的,但我无法在谷歌上找到答案.我有一个库模块,用于处理从API响应中解析一些数据.我已经编写了测试,并且一切正常,但是我想将假的API响应数据移动到外部文件中,因为它很长并且使得测试更难以阅读.我看了固定装置和工厂,但这些都是模型,这只是一个非常长的xml片段.我目前的测试看起来像这样
describe :my_test do
let(:my_var) { REALLY_LONG_XML_SNIPPET}
....test code...
end
Run Code Online (Sandbox Code Playgroud)
如何将REALLY_LONG_XML_SNIPPET移动到外部文件中?
Jam*_*mes 10
这是我在我的规格中使用的:
let(:doc) { IO.read(Rails.root.join("spec", "fixtures", "api_response.xml")) }
Run Code Online (Sandbox Code Playgroud)
它会将文件的内容复制到一个字符串中.
请注意,我已关闭RSpec的默认ActiveRecord灯具,因此我将我的灯具放在该目录中.
更新:使用Rspec Rails 3.5和更新版本
一个人也可以使用file_fixture
let(:doc) { file_fixture("api_response.xml").read }
Run Code Online (Sandbox Code Playgroud)
对于
默认情况下存储在spec/fixtures/files中的文件
但文件位置可以自定义.
| 归档时间: |
|
| 查看次数: |
3670 次 |
| 最近记录: |