测试模型是否在没有 RSpec 的情况下被审计
Testing if model is audited without RSpec
我使用 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
这个 returns 在审核时默认为真。
相关审计也是如此。只需为您的关系构建一个数据结构,并检查审计是否等于您的预期结果。
以审计自述文件中的这个例子为例:
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">
在那里您可以轻松地检查相关的审核是否符合您的要求。
我使用 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
这个 returns 在审核时默认为真。
相关审计也是如此。只需为您的关系构建一个数据结构,并检查审计是否等于您的预期结果。 以审计自述文件中的这个例子为例:
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">
在那里您可以轻松地检查相关的审核是否符合您的要求。