【问题标题】:why different variables within RSpec?为什么 RSpec 中有不同的变量?
【发布时间】:2012-07-16 00:39:53
【问题描述】:

在 RSpec 测试中使用局部变量、实例变量和使用 'let' 方法创建的变量有什么区别?

【问题讨论】:

    标签: rspec2 rspec-rails


    【解决方案1】:

    如果您需要重用变量,使用let 是最佳选择,否则局部变量可能更有意义。但是您可以根据差异自行决定:

    局部变量

    只能从一个测试中访问,即不能重复使用。

    实例变量

    可从示例组中的所有测试访问。对示例组中的每个测试运行进行分配和评估。

    可从示例组中的所有测试访问。延迟评估,因此仅在实际用于测试时才创建它(以及创建它的代码)。

    如果变量在逻辑上属于contextdescribe 块而不是单个测试,则let 可能仍然有意义而不是局部变量,但这是基于测试结构的偏好。

    【讨论】:

      猜你喜欢
      • 2016-10-29
      • 1970-01-01
      • 1970-01-01
      • 2010-11-03
      • 2015-03-27
      • 2014-12-18
      • 2020-04-04
      相关资源
      最近更新 更多