【发布时间】:2020-05-02 02:18:28
【问题描述】:
我有这个方法来检查用户是否是管理员:
def admin?
current_user.admin == true
end
单元测试是:
require 'rails_helper'
describe StubController do
describe '.admin?' do
it "should tell if the user is admin" do
user = User.create!(email: "i@i.com", password:'123456', role: "admin", name: "Italo Fasanelli")
result = user.admin?
expect(result).to eq true
end
end
end
问题是,simplecov 告诉我这部分 current_user.admin == true 没有被覆盖。
如何在这个测试中测试 current_user?
【问题讨论】:
-
你用过像Device这样的auth hems吗?
-
是的,我正在使用 gem 设计
-
您在哪里声明
admin?方法、模型或控制器? -
在应用程序控制器中。但是我做了这个 StubController,它只继承了 ApplicationController 的方法,我可以测试它的方法。
标签: ruby-on-rails rspec simplecov