我使用audited gem来审核模型上的所有更改。在gem规范(https://www.rubydoc.info/github/collectiveidea/audited/Audited/RspecMatchers)中,我们可以找到如何使用RSpec测试它的信息,即:
it { should be_audited }
it { should be_audited.associated_with(:user) }
我想做类似的测试,但没有RSpec - 任何建议如何做到这一点?
您可以检查respond_to?
是否附带审计gem的某些方法。喜欢
User.respond_to?(:audited)
# or
User.respond_to?(:audits)
您也可以使用自述文件中的auditing_enabled
选项。
User.auditing_enabled
当审计存在时,返回默认值为true。
相关审核也是如此。只需为您建立一个数据结构关系,并检查审核是否等于您的预期结果。以审计自述文件为例,举例:
company = Company.create!(name: "Collective Idea")
user = company.users.create!(name: "Steve")
user.update_attribute!(name: "Steve Richert")
user.audits.last.associated # => #<Company name: "Collective Idea">
company.associated_audits.last.auditable # => #<User name: "Steve Richert">
然后,您可以轻松检查相关审核是否符合您的要求。