Rails capybara,fill_in失败

时间:2015-03-29 19:29:20

标签: ruby-on-rails capybara

我有下一个规格:

click_link('Edit')
expect(current_path).to eq(edit_news_path(@news))
fill_in('Body', with: 'Changed body')
click_button('Edit')
expect(current_path).to eq(admin_path)
expect(@news.body).to eq('Changed body')

所有期望都通过测试,但不是fill_in期待:

Failure/Error: expect(@news.body).to eq('Changed body')

   expected: "Changed body"
        got: "Example"

   (compared using ==)

现场一切正常,每次编辑都保存了,那么rspecs中的问题是什么?

2 个答案:

答案 0 :(得分:0)

这通常意味着水豚无法找到你所说的字段。

您可能会检查的一些事项是:标签Body是否通过链接到输入字段?是否只有一个带有标签的字段" Body"?您也可以尝试在fill_in调用中使用id作为字段,例如

fill_in("content_body", with...

答案 1 :(得分:0)

我认为你的click_button('edit')似乎有问题。我认为你没有拯救身体,你必须拥有click_button('save') 在测试语句之间使用binding.pry来检查各种对象的值。