如何创建虚假数据以在rails控制器

时间:2015-12-29 00:16:19

标签: rspec factory-bot rspec-rails

我想用rails-rspec gem测试我的rails控制器。我已经设置了一切用于测试(运行rspec的所有命令,安装rspec-gaurd等),但是我不确定要使用什么来创建假数据以将其传递给我的控制器。我选择了factory-girl-rails吗?(如果这是错误的宝石或有更好的东西,我需要知道,请告诉我)。我的控制器参数应该是这样的:

{
  "name": "example",
  "job" : "TheJob"
  "config": "{THIS IS A HASH}"
}

我的工厂看起来像这样: enter image description here

这是我的rspec测试的样子: enter image description here

我的测试格式对吗?因为我收到了错误

  

特征未注册:config_info

当Guard运行代码时!

1 个答案:

答案 0 :(得分:1)

工厂女孩可以用来创建数据,根据你的需要,它可能有点过分。但是你应该可以做这样的事情..

FactoryGirl.define do
  factory :user do
    name "myName"
    last "myLast"
    config { { family: "MyFamily", parent: "MyParent" } } 
  end
end

请注意使用2组{ },因为您需要在工厂的块分配表单中传递哈希值。

或匹配您请求的参数(与您发布的工厂相对)。

FactoryGirl.define do
      factory :user do
        name "myName"
        job "TheJob"
        config { { family: "MyFamily", parent: "MyParent" } } 
      end
    end