将rspec更新为3.3.3
后,我收到了很多弃用警告..
should
我改变了:
describe "visiting the user index" do
before {visit users_path}
scenario{ should have_title('Sign in')}
end
为:
describe "visiting the user index" do
before {visit users_path}
scenario{ expect have_title('Sign in')}
end
我希望我的重构没问题。
我在shuold_not
上收到了弃用警告,其中expect_not
不起作用。在网络上,我一直到this页面,但我无法在should_not
resplacment中理解这个想法。
无论如何这个例子已被弃用:
describe "visiting Users#edit page" do
before { visit edit_user_path(wrong_user)}
scenario{ should_not have_title('Edit user')}
end
这确实会出现未定义的方法错误:
describe "visiting Users#edit page" do
before { visit edit_user_path(wrong_user)}
scenario{ expect_not have_title('Edit user')}
end
答案 0 :(得分:0)
如果您定义了主题,则可以使用is_expected.not_to
,或使用较长版本expect(page).not_to
:
describe "visiting Users#edit page" do
before { visit edit_user_path(wrong_user)}
scenario{ is_expected.not_to have_title('Edit user')}
end
查看betterspecs中的expect VS should section。