SimpleCov 计算用户模型的 0% 覆盖率

2024-03-29

我决定尝试使用简单的科夫 https://github.com/colszowka/simplecovgem,我认为这是一个很酷的工具,但我有一个问题:

我有一个模型User, 我有user_spec.rb其中包含测试用例,但 simplecov 显示该模型的覆盖率为 0%。它显示其他模型的覆盖率为 100%,这是事实。我不明白有什么问题User model.

class User < ActiveRecord::Base

  extend Enumerize

  # Include default devise modules. Others available are:
  # :confirmable, :lockable, :timeoutable and :omniauthable
  devise :database_authenticatable, :registerable,
         :recoverable, :rememberable, :trackable, :validatable

  STATUS_ACTIVE = :active
  STATUS_BANNED = :banned

  enumerize :status, in: [STATUS_ACTIVE, STATUS_BANNED], default: STATUS_ACTIVE

  with_options inverse_of: :user, dependent: :destroy do
    has_one :profile
    has_many :articles
  end

  before_create :build_default_profile

  private

  def build_default_profile
    build_profile
  end

end

用户规范.rb

 require 'rails_helper'
    
    RSpec.describe User, type: :model do
    
      describe '#validations' do
        it { should have_one(:profile).dependent(:destroy) }
    
        it { should validate_presence_of(:email) }
        it { should validate_presence_of(:password) }
        it { should validate_confirmation_of(:password) }
    
        it { should enumerize(:status).in(User::STATUS_ACTIVE, User::STATUS_BANNED).with_default(User::STATUS_ACTIVE) }
    
        #TODO other devise validations
      end
    
      describe '#callbacks' do
        it 'creates profile after_create' do
          user = build(:user)
          expect(user.profile).to be_nil
          user.save
          expect(user.profile).to be_a(Profile)
        end
    
        it 'must not create profile after update' do
          user = create(:user)
          profile = user.profile
          user.email = Faker::Internet.email
          user.save
          expect(profile.id).to eq(Profile.find_by(user_id: user.id).id)
        end
      end
    
    end

coverage

File                 % covered Lines Relevant Lines Lines covered   Lines missed    Avg. Hits / Line
app/models/user.rb      0.0 %   28  28  0   28  0.0
app/models/admin.rb     100.0 % 3   1   1   0   1.0
app/models/article.rb   100.0 % 32  19  19  0   5.8
app/models/profile.rb   100.0 % 13  6   6   0   1.0

确保您正确启动 SimpleCov。就你而言,

加载并启动 SimpleCov在最顶部您的 rails_helper.rb

查看更多:https://github.com/colszowka/simplecov#getting-started https://github.com/colszowka/simplecov#getting-started

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SimpleCov 计算用户模型的 0% 覆盖率 的相关文章

  • 仅适用于安全页面的安全回形针 URL

    我正在尝试找到使回形针网址安全的最佳方法 但仅限于安全页面 例如 显示存储在 S3 中的图像的主页是http mydomain com http mydomain com图像网址是http s3 amazonaws com mydomain
  • 使用 prawnto_2 gem 加载图像时,RAILS_ROOT 不再有效

    我正在将我的应用程序从 Rails 3 0 升级到 Rails 3 1 我已经尽可能地将旧插件转为 gems 其中包括用这个漂亮闪亮的新插件替换旧的 prawnto 插件对虾 2 https github com forrest prawn
  • AJAX Rails 验证

    我的表单和验证可以很好地处理常规的 http 请求 我希望它使用 AJAX 我知道我可以在客户端进行验证 但这似乎是多余的 因为我已经在模型中定义了验证 当用户填写表单时 我想就他们的条目向他们提供反馈 在 AJAX 表单中使用 Rails
  • Watir 脚本偶尔返回 Net::ReadTimeout 错误

    我有一个 Watir 脚本 偶尔会意外地返回此错误 Net ReadTimeout 我搜索了这个错误并发现这个问题 https stackoverflow com questions 47452276 watir get sometimes
  • Rails 5 deviseomniauth-facebook 错误:抱歉,出了点问题

    我按照 Devise 的官方指南从上到下本节 https github com plataformatec devise wiki OmniAuth Overview logout links My CALLBACK URL is http
  • Rails 的 Puma Systemd 配置不起作用

    我已经完成了一个使用 Ruby on Rails 构建的应用程序 现在我想将其托管在 AWS 上的 EC2 实例上 我已经为其配置了服务器 并且正在使用pumaHTTP服务器作为应用服务器 在生产中启动应用程序总是需要我运行RAILS EN
  • Capybara 2.0 和 rspec-rails -- 助手在规范/功能中不起作用

    我正在尝试使用辅助模块中的方法 但 rspec 似乎无法识别辅助程序以进行测试spec features 请注意 唯一的更改是spec helper rb正在添加require capybara rspec 我尝试移动helper rb t
  • 如何对 mongodb/mongoid 脚本进行基准测试,以比较两种不同的查询技术

    您对如何测试两种不同的 mongoid mongodb 查询实现的性能有什么建议吗 要比较的实现与以前的相关 问答 https stackoverflow com questions 10121977 extracting modellin
  • 运行 rake db:create 时出错:类“Singleton”的未定义方法“extend_object”

    当我跑步时rake db create在我的项目中我收到此错误 NameError undefined method extend object for class Singleton Did you mean extended 这个项目曾
  • 使用“回形针”gem 和 Ruby on Rails 3 时出现问题

    我在运行 Snow Leopard v1 6 5 的 MacO 上使用 Ruby on Rails 3 我想使用 回形针 gem 所以我将它包含在我的 Gemfile 中 如下所示 gem paperclip gt 2 3 然后 在终端中运
  • 从架构中删除表 - Rails

    我想删除架构中的一个表 我在第一次启动项目时创建了数据库并希望删除该表 这样做的最佳方法是什么 I tried rails g migration drop table installs但这只会创建一个空迁移 Schema create t
  • Rails simple_form:自定义输入id

    我想把用Rails simple form生成的几个表单放在一页上 并用javascript对它们进行操作 然而 simple form 为表单中的各个输入生成了相同的 id 因此我想用我自己的 id 替换生成的 id 现在我有一行 和 H
  • Guard 不会加载 WDM

    我正在学习 Michael Hartl 的 Rails 教程 到目前为止该教程非常出色 我在高级设置一章中 他以有利于 TDD 的方式配置 Rails 环境 我安装了 Guard 并且通过运行我在 spec 文件夹中的测试 它一直正常运行
  • Correct_user 和 admin 的多个 before_filter 语句

    我有一个组资源 我正在尝试使用适当的授权来设置该资源 我试图实现的授权逻辑是这样的 只有群组成员才能查看他们的群组 管理员可以查看any组 以及采取其他行动 我尝试在组控制器中使用以下 before filter 语句来执行此操作 befo
  • 在 Rails 中实现多个字段的自动完成

    我有一个应用程序 它实现了群组功能 每个小组有n名成员 此外 每个组都有一个组特定的个人资料图片 我已经能够实现组功能的自动完成 仅记住组名称 我已经参考了以下教程 http railsforum com viewtopic php id
  • 如何找到查询结果的大小

    我在 Rails 中有以下查询 records Record select y id source where source gt source y id gt y id group y id source having count 1 如
  • 使用 SASS 切换用户主题 - Ruby on Rails

    所以我有一个 Rails 管理系统 允许用户选择一个主题 基本上是一组 SASS 颜色变量 它将使用新颜色重新编译 application css scss 当用户从下拉菜单中选择并提交时 更改此设置的最佳方法是什么 我阅读了一些有关缓存和
  • 如何使用 rspec 测试 ActionCable 和 Devise?

    在我的 Rails 5 1 应用程序中 我使用设备进行身份验证和 ActionCable 我的 ActionCable 连接如下所示 module ApplicationCable class Connection lt ActionCab
  • Facebook API 错误 100 - 无效链接

    我正在使用 Facebook API 在我的 Rails 应用程序中创建发送对话框 我只是在 Javascript 中使用 Facebook 推荐的格式 作为 HTML 中的脚本 我的问题是我得到 API Error code 100 in
  • Ruby on Rails 中的三重连接

    我对 Ruby on Rails 中的关联有疑问 应用程序中有项目 用户 角色和组 项目属于一个有用户的组 一个用户可以属于多个不同的组 但只能在该组中拥有一个特定的角色 例如 在一个组中 用户是项目所有者 但在另一个组中 他是作家 使用

随机推荐

  • DataGridView 复选框列 - 值和功能

    我已在 C 表单中的 DataGridView 中添加了一个复选框列 该功能需要是动态的 您选择一个客户 然后显示他们可以提供服务的所有项目 然后您选择这次希望为其中哪些项目提供服务 不管怎样 代码现在将在 DGV 的开头添加一个复选框 我
  • N 个相同处理器上的任务调度的精确算法?

    我正在寻找精确的算法 可以在 N 个相同的处理器中找到任务调度的最佳解决方案 该算法的时间并不重要 最重要的是一个最佳解决方案 完成最后一个任务时所有处理器的最短时间 理论上描述该算法的方程如下 P Cmax 如果有人有算法 尤其是 Jav
  • Spring Data 返回 List

    我有这个存储库 Repository public interface ProductRepository extends JpaRepository
  • java.lang.NoClassDefFoundError:Lorg/slf4j/Logger

    我正在使用具有 Maven 支持的 Intellij 启动 tomcat 一旦我添加以下 tomcat maven 依赖项
  • 制作 Sequelize 显示表格

    我正在 node js 中创建一个项目 我的页面之一将显示数据库中所有表的列表 我想知道Sequelize是否有 显示表格 之类的功能 Thanks 使用续集showAllSchemas method var sequelize new S
  • Google 风格指南(前向声明部分)

    Preface Google 风格指南列出了前向声明的缺点 前向声明可以隐藏依赖项 允许用户代码在标头更改时跳过必要的重新编译 前向声明可能会因库的后续更改而被破坏 函数和模板的前向声明可以防止标头所有者对其 API 进行其他兼容的更改 例
  • 具有可见分隔线的不可点击列表视图项目

    我想禁用列表视图项目的单击 一种解决方案是覆盖areAllItemsEnabled 始终返回 false 并且isEnabled 对于特定位置返回 false 但是 这会导致特定列表视图项周围的分隔线消失 有些人建议返回 trueareAl
  • 如何正确打印 __FILE__ 扩展为的字符串?

    考虑这个程序 include
  • 在 Ruby 脚本中运行命令行命令

    有没有办法通过 Ruby 运行命令行命令 我正在尝试创建一个小型 Rub y 程序 该程序可以通过 screen rcsz 等命令行程序拨出和接收 发送 如果我能将所有这些与 Ruby MySQL 后端等 结合起来 那就太好了 是的 有以下
  • 用于包装 JsonResult 操作响应的 .Net 过滤器

    我已经建立了一个网络 API 应用程序并发现了一个问题 目前在我的代码中处理得不好 该问题总结为包装所有内容Json从具有自定义节点 根 的所有 API 操作返回的对象 即 我有这个 json 数组 响应 Category Pages Us
  • 为什么不允许在非类型参数中进行部分特化以使用嵌套模板参数

    我有这个代码 template
  • 连接两个 std::vector

    如何连接两个std vectors vector1 insert vector1 end vector2 begin vector2 end
  • 如何在.NET Core中正确使用代码契约

    我想知道如何正确使用代码契约 NET核心 到目前为止我尝试将CC添加到我的项目中 编译和调试 我对消息感到困惑 该消息出现在每次使用的呼叫中Contract Requires 以及通过谷歌搜索找到的信息 该消息指出 必须使用代码契约二进制重
  • 如何使用 CSS 选择没有“类型”的

    我这里有3个
  • 为什么 Scala 在这种特殊情况下无法找到次要隐式值?

    我很难解释之间的行为差 异 通过主要隐式值或隐式值寻求附加隐式值 隐式转换 具体来说 这有效 trait Foo A implicit def fooString Foo String null implicit def value A i
  • 同步 Android 画廊中的照片

    我见过一些可以与 Android 图库同步照片的应用程序 例如 Picasa 并且我想自己创建类似的东西 我将拥有一个包含照片的远程服务器 并且用户将能够访问这些来自图库中的单独相册 如上述应用程序 然而 我不知道如何实现这一点 甚至不知道
  • 如何在 Nuxt3 中使用 @nuxtjs/axios 模块?

    我有这段代码可以从中获取API数据https fakestoreapi com products https fakestoreapi com products
  • 单击行后插入动态创建组件

    我正在研究解决方案 我想在单击行后附加动态创建的组件 我的表由带有操作按钮的行组成 单击该按钮我将调用角度函数并在该行之后加载组件 这是表代码 div class row div class col div div
  • 如何动态添加tinymce 4.x到textarea?

    我在初始化后动态地将tinymce添加到textarea时遇到了一个小问题 tinymce init selector textarea theme modern height 100 plugins advlist autolink im
  • SimpleCov 计算用户模型的 0% 覆盖率

    我决定尝试使用简单的科夫 https github com colszowka simplecovgem 我认为这是一个很酷的工具 但我有一个问题 我有一个模型User 我有user spec rb其中包含测试用例 但 simplecov