【发布时间】:2012-07-16 00:39:53
【问题描述】:
在 RSpec 测试中使用局部变量、实例变量和使用 'let' 方法创建的变量有什么区别?
【问题讨论】:
标签: rspec2 rspec-rails
在 RSpec 测试中使用局部变量、实例变量和使用 'let' 方法创建的变量有什么区别?
【问题讨论】:
标签: rspec2 rspec-rails
如果您需要重用变量,使用let 是最佳选择,否则局部变量可能更有意义。但是您可以根据差异自行决定:
只能从一个测试中访问,即不能重复使用。
可从示例组中的所有测试访问。对示例组中的每个测试运行进行分配和评估。
可从示例组中的所有测试访问。延迟评估,因此仅在实际用于测试时才创建它(以及创建它的代码)。
如果变量在逻辑上属于context 或describe 块而不是单个测试,则let 可能仍然有意义而不是局部变量,但这是基于测试结构的偏好。
【讨论】: