我得到了一个带有私有方法的模型,我想用RSpec规范,

推荐答案

我总是这样:I want to test the public API my class exposes.

如果有私有方法,则只能从公开给其他类的公共方法调用它们.因此,如果您测试这些公共方法在所有条件下都能按预期工作,那么您也证明了它们使用的私有方法也能工作.

我承认我遇到过一些特别复杂的私有方法.在极端情况下,如果您想测试它们,可以这样做:

@obj.send(:private_method)

Ruby-on-rails相关问答推荐

rails:如何在表单验证后使用涡轮刷新列表

Rails Routing:在具有自己的路由的名称空间下组织路由

Gemfile需要较新版本的依赖项

Rails + Turbo_stream自定义操作:我可以在没有Stimulus的情况下根据DOM状态做出有条件的响应吗?

搜查升级到 4.0.0 和 ActionText::RichText

Rails/Rspec中的测试文章创建

使用带有 Paper Trail gem 的子类

为什么是 json.partial!使用新的哈希语法传递本地时,jbuiler 模板中的行不执行?

您如何查看在 Rails 中触发回调的关联模型?

在 rails 3 中设置记录器

在 Windows 上使用 Ruby 进行开发

RSpec 设置会话对象

是否可以在 Rails 中否定范围?

是否有与 PHP 的 isset() 等效的 Rails?

Rails:将所有未知路由重定向到 root_url

Ruby on Rails 基本概念总结

Rails 5:重命名表迁移

我可以在 twitter-bootstrap popover 数据内容中使用 html 标签吗?

您推荐哪些工具来分析 Rails 应用程序?

如何在 Rails 4 中测试控制器关注点