Ruby on rails Rails capybara,在失败中填充

Ruby on rails Rails capybara,在失败中填充,ruby-on-rails,capybara,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') 所有期望值均通过测试,但未填写期望值: Failure/Erro

我有下一个规范:

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')
所有期望值均通过测试,但未填写期望值:

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

   expected: "Changed body"
        got: "Example"

   (compared using ==)

在网站上一切正常,每一次编辑都保存了下来,那么rspecs有什么问题呢?

这通常意味着水豚找不到你想要的字段

您可以检查以下几件事:标签正文是否通过链接到输入字段?是否只有一个字段具有标签正文?您还可以尝试在fill_in调用中使用字段的id,如

fill_in("content_body", with...
我认为你的点击按钮“编辑”似乎有问题。我想你不是在拯救尸体,你一定是在点击“拯救”按钮
在测试语句之间使用binding.pry检查各种对象的值

是的,我只有一个“Body”标签,它链接到右侧的输入字段,在销毁时也有问题:失败/错误:expect@news.toeqnil期望:nil得到:不,'Edit'按钮很好,正如我已经说过的那样-编辑操作在站点上没有问题,我想说的是询问,视图中按钮的名称是什么。你能把表单代码粘贴到这里吗?news/edit.html.haml:=form_for@news do | f |=f.label:title=f.text_字段:title=f.label:body=f.text_区域:body=f.submit编辑,类:'btn btn primary'