所以我想知道最好的方法是使用水豚来测试一个页面实际访问
describe "Pages" do
subject { page }
describe "Home page" do
it "should have the title 'My Home Page'" do
visit root_path
expect(page).to have_title('My Home Page')
end
end
end
现在看来,测试这个的标准方法是比较页面的标题(如上所述)。这看起来并不强大,就像页面标题发生变化一样,它会破坏任何引用它的测试。
这是标准做法吗?还是有另一种方法来测试它。
谢谢, 马特
答案 0 :(得分:2)
我不认为您提供的示例是测试访问页面的标准方法。这是查看页面标题是否与预期匹配的标准方法= P
如果你想对capybara中的路径做出断言,更可靠的方法是使用current_path
。因此,您可以按如下方式重写您的示例:
describe "Pages" do
describe "Home page" do
it "will visit root_path" do
visit root_path
expect(current_path).to eql root_path
end
end
end
请注意,这不是一个非常有价值的测试。我们都知道水豚经过了很好的测试,如果我们告诉它,它会访问root_path
。无论如何,如果你想进行理智检查或其他什么,这是正确的方法。
我希望它有所帮助!