我的某个测试存在问题。我有一个具有激活(布尔)列的用户模型。当我尝试通过以下方式找到在索引操作中激活显示的所有用户时:
def index
@users = User.where(activated: true).paginate(page: params[:page],
per_page: 10).order('name ASC')
end
在开发ENV中渲染视图时,代码工作正常。但是,当我使用以下命令在测试ENV中运行代码时
rails console test
User.where(activated:true)
它返回ActiveRecord :: Relation [],这打破了我的一个测试。
我也尝试使用rails console(Dev ENV)运行上面的方法,并获得了返回给我的用户模型列表。
有人可以解释为什么代码在测试ENV中不起作用吗?
**作为更新,我使用灯具作为我的测试数据,例如:
我使用像
这样的灯具<% 30.times do |n| %>
user_<%= n %>:
name: <%= "User #{n}" %>
email: <%= "user-#{n}@example.com" %>
password_digest: <%= User.digest('password') %>
activated: true,
activated_at: Time.zone.now
<% end %>