Too*_*tje 4 rspec ruby-on-rails faker
我在我的Rails 4项目中安装了Fabrication和Faker
我创建了一个fabrarication对象:
Fabricator(:course) do
title { Faker::Lorem.words(5) }
description { Faker::Lorem.paragraph(2) }
end
Run Code Online (Sandbox Code Playgroud)
我在我的courses_controller_spec.rb测试中调用了Faker对象:
require 'spec_helper'
describe CoursesController do
describe "GET #show" do
it "set @course" do
course = Fabricate(:course)
get :show, id: course.id
expect(assigns(:course)).to eq(course)
end
it "renders the show template"
end
end
Run Code Online (Sandbox Code Playgroud)
但由于某种原因,测试在第6行失败:
course = Fabricate(:course)
Run Code Online (Sandbox Code Playgroud)
错误消息是:
Failure/Error: course = Fabricate(:course)
TypeError:
can't cast Array to string
Run Code Online (Sandbox Code Playgroud)
不知道为什么这会失败.有没有人遇到与Faker相同的错误消息?
返回来自words(5)数组,而不是字符串.你应该做这个:
title { Faker::Lorem.words(5).join(" ") }
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1172 次 |
| 最近记录: |