rspec-rails 中的赋值是做什么的?

What does assign do in rspec-rails?

我正在处理我尚未编写的代码,并试图了解 RSpec 的工作原理。

let(:course) { create :new_course }
before { assign :course, course }

我知道 let 创建了一个记忆变量。 assign 在这个例子中做了什么?

您一定是在查看视图规范。在 rspec-rails 视图规范中,assign 将其第二个参数分配给第一个参数命名的模板实例变量。在您的示例中,assign :course, course 将模板中的 @course 设置为 course 的值。

更多信息:https://www.relishapp.com/rspec/rspec-rails/v/3-3/docs/view-specs/view-spec