在 rspec 中的钩子之前与之前相同:all?
Posted
技术标签:
【中文标题】在 rspec 中的钩子之前与之前相同:all?【英文标题】:before hook in rspec same as before :all? 【发布时间】:2012-08-22 13:15:52 【问题描述】:我想知道before
(如下所示)是否与 RSpec 中的before :all
相同。有时既没有指定 :each
也没有指定 :all
,这让我对 before
的实际作用感到困惑。
require 'spec_helper'
describe "this is a description" do
before do # vs. before :all or before :each
# do something...
end
end
如果有人能解释这些差异(如果有的话),我们将不胜感激。谢谢!
【问题讨论】:
【参考方案1】:所以答案是否定的。before
等价于before :each
,而不是before :all
Test example.
更新:哇,这个问题很受欢迎。为了避免认知超负荷,我建议您明确声明 :each
或 :all
。
【讨论】:
我想补充一点,如果你在没有特定运行时的上下文之前嵌套,比如 before(:each) 它不会覆盖钩子之前的上层。然后你可以嵌套钩子并将代码添加到堆中,但要小心,因为这可能会给你带来问题。 我打赌这特别受欢迎,因为之前的 rspec 文档页面没有提到默认值。 relishapp.com/rspec/rspec-core/v/2-2/docs/hooks/…以上是关于在 rspec 中的钩子之前与之前相同:all?的主要内容,如果未能解决你的问题,请参考以下文章