Ruby on rails 挂钩前后RSpec之间的混淆

Ruby on rails 挂钩前后RSpec之间的混淆,ruby-on-rails,ruby,rspec,Ruby On Rails,Ruby,Rspec,我已经与RSpec3合作了几天,我意识到我不完全理解提供的前/后挂钩 我的困惑有两个方面- 各种可用的钩子参数-:suite,:context,:example,:all,:each(我是否缺少任何钩子参数?)。前三个似乎是新的,因为我只见过最后两个。最后两个现在是否已弃用,并被其他两个取代 上述各项所涵盖的范围- 我猜在(:context)之前和在(:example)在每个上下文块和单个示例之前运行一次 before(:suite)是否在give\u spec文件中的所有示例之前运行一次 (

我已经与RSpec3合作了几天,我意识到我不完全理解提供的前/后挂钩

我的困惑有两个方面-

  • 各种可用的钩子参数-
    :suite
    :context
    :example
    :all
    :each
    (我是否缺少任何钩子参数?)。前三个似乎是新的,因为我只见过最后两个。最后两个现在是否已弃用,并被其他两个取代
  • 上述各项所涵盖的范围-
    • 我猜
      在(:context)
      之前和
      在(:example)
      在每个
      上下文
      块和单个示例之前运行一次
    • before(:suite)
      是否在give
      \u spec
      文件中的所有示例之前运行一次
    • (:xxx)之前的每个
      块是否仅适用于其自身嵌套级别及以下级别的上下文和示例
      
  • 谢谢

    在rspec3中,
    :context
    :example
    别名为
    :all
    :each

    注意:example和:context作用域也可用作:each和 :分别是全部。用你喜欢的

    首先执行
    before:suite
    范围,然后执行
    :context
    :example
    范围:

    before :suite
    before :context
    before :example
    after  :example
    after  :context
    after  :suite
    
    除此之外,我建议阅读文档,其中包括特定测试场景的工作示例