0

使用 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

4

0 回答 0