我在使用Capybara的Rails应用程序中进行了此测试:
within "#register" do
fill_in "Biography (optionnal)", :with => "Hello world!"
end
click_on "Save"
# Check that form is repopulated with old input
expect(find_field('user_bio').value).to eq('Hello world!')
以下是我从测试中得到的结果:
Failure/Error: expect(find_field('user_bio').value).to eq('Hello world!')
expected: "Hello world!"
got: "\nHello world!"
我没有手动将换行符添加到user_bio字段。
这可能来自哪里?
编辑1: 在一些谷歌搜索之后,似乎在Github上有一个PR,并且它已合并。所以我猜这不是Capybara的错误。见https://github.com/jnicklas/capybara/commit/755a724d4b10e6841a0eeb58af43375236b33247
答案 0 :(得分:0)
您可以在保存过滤器之前执行此操作以清除该新行
在您的模型中添加
before_save :clear_new_lines
protected
def clear_new_lines
self.user_bio = user_bio.gsub("\n",'')
end