问题标签 [shoulda-matchers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
55 浏览

ruby-on-rails - Rails 测试使用 rspec、shouda_matcher 和 factory_bot_rails rturns PG::NotNullViolation: ERROR: null value in column

我有 2 个模型:Answer 和 Book。

尽管它们非常相似,但所有测试都通过了 Answer,但 Book 的 1 次测试失败

模型/answer.rb

模型/book.rb

规格/工厂/answers.rb

规格/工厂/books.rb

spect/models/answer_spec.rb

spect/models/book_spec.rb

我得到的回报是:

  1. 书籍验证应验证 :name 是不区分大小写的唯一失败/错误:它 { should validate_uniqueness_of(:name).case_insensitive }

    Shoulda::Matchers::ActiveRecord::ValidateUniquenessOfMatcher::ExistingRecordInvalid: validate_uniqueness_of 通过将新记录与现有记录进行匹配来工作。如果没有现有记录,它将使用您提供的记录创建一个。

我已经尝试了许多我想出或在堆栈/git 帖子中看到的方法,但没有一个接缝可以工作。