我仍然掌握了Ruby技能。如何使用更好的Ruby語法來清理此測試
我一直在試圖找出如果我可以幹出了一個RSpec測試驗證碼:
require 'rails_helper'
RSpec.describe Role, type: :model do
describe "has several roles types " do
before :each do
@roles = Role.all
end
context "The role types that are valid" do
it "includes 'proofreader', 'admin', 'super_admin' " do
expect(@roles.any?{|r| r.name == 'proofreader'}).to be_truthy
expect(@roles.any?{|r| r.name == 'admin'}).to be_truthy
expect(@roles.any?{|r| r.name == 'super_admin'}).to be_truthy
end
end
context "The role types that are not valid " do
it "includes 'developer' " do
expect(@roles.any?{|r| r.name == 'developer'}).to be_falsy
end
end
end
end
我特別要減少那些三行代碼到一個,但它一直困擾我如何檢查一行中三個字符串值的ActiveRecord關係。 任何想法?
你應該使用'被TRUE'而不是' be_truthy'。請看看區別。 –