ruby-on-rails - Rails 6 所有 validate_presence_of 测试均失败
问题描述
他们失败了:统一常量 ActiveModel::SecurePassword::InstanceMethodsOnActivation
我正在尝试将 rails 5.2 应用程序更新到 rails 6 beta,除了我的 validate_presence_of 规格外,一切似乎都运行良好。
例如
RSpec.describe Post, type: :model do
context 'validations' do
subject { Post.new(body: Faker::Movie.quote)}
it { should validate_presence_of :body }
it { should validate_length_of(:body).is_at_most(5000).on(:create) }
end
end
validate_length_of 可以通过,而 validate_presence 不能。帖子确实属于从 Clearance::User 继承的用户,但我不确定为什么常数会在同一模型的不同测试中有所不同?
解决方案
我已经完成了这项工作。
这里有一个对 shoulda_matchers 的拉取请求:
https://github.com/thoughtbot/shoulda-matchers/pull/1169
在 shoulda_matchers 团队合并之前,请在此处使用我的版本:
https://github.com/morsedigital/shoulda-matchers
在您的 Gemfile 中:
gem 'shoulda-matchers', groups: [:test], git: 'https://github.com/morsedigital/shoulda-matchers'
推荐阅读
- angular - 如何根据权限显示条目
- wordpress - 在 Woocommerce 中将订单状态从处理中自动更改为已完成
- android - android 应用程序中 Fabric Beta Publisher 和 Jenkins 的代理问题
- ruby-on-rails - 如何从简单表单复选框下方的无效反馈中删除属性名称?
- matlab - Matlab中的条形图切换颜色
- sql - 如果 null 然后插入 table_1 否则在 sql server 中返回 table_2
- java - 集合中的 for 循环而不是 while 循环
- jquery - Jquery if 语句在为 false 或 true 时执行
- css - How to wrap an inner div with relative position?
- ios - 如何在滚动时放大 tableView?