【问题标题】:Best practice for testing capybara visit page测试水豚访问页面的最佳实践
【发布时间】:2014-04-14 09:34:47
【问题描述】:

所以我想知道使用 capybara 实际访问页面的最佳方法是什么

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

现在看来,测试这一点的标准方法是比较页面的标题(如上)。不过,这似乎不是超级健壮,好像页面标题发生了变化,它会破坏任何引用它的测试。

这是标准做法吗?或者有其他方法可以测试它。

谢谢, 马特

【问题讨论】:

    标签: ruby-on-rails capybara rspec-rails


    【解决方案1】:

    我不认为您提供的示例是测试页面是否被访问的标准方法。这是查看页面标题是否符合您期望的标准方法=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
    

    请注意,虽然这不是一个很有价值的测试。我们都知道 capybara 经过了很好的测试,如果我们告诉它这样做,它会访问root_path。无论如何,如果您想进行健全性检查或其他什么,这是正确的方法。

    希望对你有帮助!

    【讨论】:

      猜你喜欢
      • 2011-06-29
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多