我倾向于在块之前使用设置实例变量。然后我在这些例子中使用这些变量。我最近来了let()。根据RSpec文档,它已经习惯了
...定义一个备忘助手的方法。该值将在同一个示例中跨多个调用进行缓存,但不会跨越示例。
这与在前面块中使用实例变量有什么不同?还应该什么时候用let()vs before()?
使用实例变量和之间的差异let()在于,let()是懒评估。这意味着,let()只有在定义的方法第一次运行之后才会进行评估。
before和之间的区别let是let()给你一个很好的方式来定义一个“级联”风格的变量组。通过这样做,通过简化代码,规范看起来好一点。
总是喜欢let一个实例变量的原因有两个: