ruby-on-rails - Rails 6 所有 validate_presence_of 测试均失败

标签 ruby-on-rails testing rspec ruby-on-rails-6

它们失败了:统一常量 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'

关于ruby-on-rails - Rails 6 所有 validate_presence_of 测试均失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54272646/

相关文章:

mysql - rails 2.3 : Replace record associations instead of delete

testing - 在 testfx 中启用失败测试的屏幕截图功能

ruby-on-rails - 在 Rails 中测试范围链的最佳方法

ruby-on-rails - 单元测试隔离 : 20 lines of test for 1 line of code?

ruby-on-rails - 如何阻止与 RSpec 和 Capybara 的外部连接?

ruby-on-rails - 使用 daterange 创建多列查询的 Rails 索引

ruby-on-rails - 在模型中使用辅助方法

ruby-on-rails - SQLite、Ruby on Rails。如何使用acts_as_votable gem 获得投票最高的对象?

testing - Kotlintest 扩展为测试提供信息

ruby-on-rails - 如何命名依赖于另一个 gem 的 gem ?