所以我想知道最好的方法是什么来测试一个页面实际上是使用水豚访问的
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
现在,测试这一点的标准方法似乎是比较页面的标题(如上所述)。不过,这似乎并不是非常健壮,就好像页面标题发生了变化,它会破坏任何引用它的测试。
这是标准做法吗?或者有其他方法可以测试它
谢谢,Matt
我不认为您给出的示例是测试访问页面的标准方法。这是查看页面标题是否符合预期的标准方法=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
。无论如何,如果你想进行理智检查或其他什么,这是正确的做法。
我希望它能有所帮助!