【问题标题】:How to import ruby RSpec data如何导入 ruby​​ RSpec 数据
【发布时间】:2018-05-11 11:23:22
【问题描述】:

有人可以展示如何直接导入 ruby​​ RSpec 数据。经过数小时的研究,我还没有找到一个答案。

我正在尝试将“fruit”和“vegetable”返回到 pull.rb 文件中的 method foods。该数据将来自 data.rb

data.rb

let(:food_data) {
  JSON.parse('[
{
  "Plant": "Fruit",
  "Type": "Apple"
},
{
  "Plant": "Vegetable",
  "Type": "Carrot"

},
{
  "Plant": "Fruit",
  "Type": "Orange"
},
{
  "Plant": "Vegetable",
  "Type": "Spinach"
}

]')
}

pull.rb

def foods
File.open('data.rb'))
    [:food_data][0]
    [:food_data][1]
end

【问题讨论】:

  • 很难说如何完成你想要的,因为实际上所有的代码都是错误的,而且意图绝对不清楚。

标签: ruby-on-rails json ruby rspec


【解决方案1】:

您可以将数据制作成纯json文件:

food_data.json

[
{
  "Plant": "Fruit",
  "Type": "Apple"
},
{
  "Plant": "Vegetable",
  "Type": "Carrot"

},
{
  "Plant": "Fruit",
  "Type": "Orange"
},
{
  "Plant": "Vegetable",
  "Type": "Spinach"
}

]

然后从 ruby​​ 加载它:

require 'json'
def foods
  JSON.parse(File.read("food_data.json")).first(2).map do |food|
    food["Plant"]
  end
end

foods # => ["Fruit", "Vegetable"]

【讨论】:

    猜你喜欢
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-17
    • 2012-10-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多