使用 Devise 运行应用程序时,测试如下user_test.rb
class UserTest < ActiveSupport::TestCase
setup do
@user = users(:funky_mobile)
end
test "twilio_number" do
assert(@user.twilio_number == '+333331112200')
end
end
为了 user.rb
class User < ApplicationRecord
def twilio_number
if mobile
nation = Nation.where(id: self.mobile_nation_id).first
"+" + nation.phone_cc.to_s + self.mobile.to_s
else
nil
end
end
end
并且通过,simplecov 似乎正在处理文件,因为注释掉的行具有白色背景,但带有代码的行都被遗漏并以红色突出显示。
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable, :trackable and :omniauthable
devise :database_authenticatable, :registerable, :trackable,
:recoverable, :rememberable, :validatable
作为一个相当大的类 UserClass 并不完全包括在这里。正在处理该文件,但缺少其相关行。删除代码块总是返回相同的行为 - 例如将类定义减少为:
validates :name_last, presence: true
validates :name_first, presence: true
该文件(显然)在结构上没有任何问题(它正常运行)。设计是一个假设点...
什么可能会产生这种行为simplecov
?