我完全明白为什么你应该使用之前(:每个)并使所有期望彼此独立,但我只是对为什么会发生这种情况感兴趣:
before(:each) { visit "/" } # Selenium visits the root path of my app
before(:all) { visit "/" } # Selenium doesn't even open firefox.
background(:all)
没有任何反应,但如果我在同一个上下文中引发异常,Selenium会打开firefox并访问这个奇怪的空文件。
file:///home/starkers/.rvm/gems/ruby-2.0.0-p247/gems/capybara-2.2.0/lib/capybara/empty.html
所以有人知道Capybara是否会主动忽略前一个块中的代码(:all),如果是这样,我怎样才能让它不忽略before(:all)中的代码? < / p>
这不是一个非常严肃的项目,但我正在考虑与Capybara进行基准测试,所以如果有人向我展示了让Capybara使用之前(:all)的方法,那就太好了。
答案 0 :(得分:0)
这两个before
块存在明显差异。
before(:each)
进行评估。
before(:all)
。一次。
您应该使用before(:each)