0

我开始使用 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.

提前致谢。

4

1 回答 1

3

你的意思是从字面上改变这个:

before { visit root_path }

visit root_path

如果是这样,那不是一个有效的规范。您不在规范中,因此您还不能使用该visit方法。

describe块不是规范的开始,就像it是一样。所做的只是为其中的规范添加一个describe嵌套消息。

beforeafter用于提取设置和拆卸步骤,这样您就可以断言事情而无需重复自己。

于 2013-10-28T07:34:32.570 回答