我开始使用Rails 4学习使用rspec和Capybara的TDD。到目前为止,它的确很顺利。我有一个问题。
如果我想测试某个页面是否有正确的标题,我写道:
describe "page information" do
before { visit root_path }
it { should have_title(full_title('Test title')) }
end
但如果我将before{ visit root_path }
更改为visit root_path
,则会引发错误。为什么是这样?在其他测试中,我不必写before X
。
提前致谢。
答案 0 :(得分:3)
你的意思是从字面上改变这个:
before { visit root_path }
到
visit root_path
如果是这样,那不是一个有效的规范。你不在规范中,所以你还不能使用visit
方法。
describe
块不是规范的开头,就像it
一样。所有describe
都会为其中的规范添加嵌套消息。
before
和after
用于提取设置和拆除步骤,因此您可以在不重复的情况下断言事物。