【发布时间】:2021-11-25 07:45:19
【问题描述】:
最近开始了一份新工作,在这次演出之前没有 ruby/rails 经验,对我来说如此空虚。
目前我在我的应用程序控制器中定义了一个方法,它定义了一些实例变量,并且被称为:before_action do_something_on_start
有一个实例变量从我们的数据库中获取一个条目,我设置了一些将在视图中可用的实例变量
def do_something_on_start
@test = User.find_by(id: 1)
@enabled = @test.value == "true"
@start_date = @test.start_date
end
在运行我们的测试规范套件时,大多数功能规范都会返回 undefined method `value' for nil:NilClass
不完全确定为什么会这样。实例变量在运行时对测试规范不可用吗?还是我必须在我们所有的功能规范中定义相同的实例变量才能工作?
【问题讨论】:
-
如果您在所有测试中始终需要具有该 ID 的数据库中的数据,您应该查看测试夹具guides.rubyonrails.org/testing.html#the-low-down-on-fixtures
标签: ruby-on-rails ruby rspec capybara