2014-04-14 400 views
0

所以我想最好的办法是去测试什么,一个网页使用水豚最佳实践

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 

现在看起来像标准的方式来测试这是实际访问比较页面的标题(如上)。尽管这看起来不是很健壮,就好像页面标题改变一样,它会打破任何引用它的测试。

这是标准做法吗?还是有另一种方法来测试它。

谢谢, 马特

回答

2

我不认为你给的例子是测试一个网页被访问的标准方式。这是标准的方式,看看页面的标题是否符合你的期望= P

如果你想对水豚的路径作出断言,更可靠的方法是使用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。无论如何,如果你想进行理智检查或者其他事情,这是正确的选择。

我希望它有帮助!