gpt4 book ai didi

ruby-on-rails - (Rails) PaperTrail 和 RSpec

转载 作者:行者123 更新时间:2023-12-03 15:59:33 31 4
gpt4 key购买 nike

我在使用 PaperTrail 时遇到问题(Rails 对象的自动版本控制)与 RSpec 测试一起使用。通常我希望我的测试在没有 PaperTrail 版本控制的情况下运行,但有一些测试我希望打开 PaperTrail。我通常使用 Guard 和 Spork 运行我的测试,我可以使用诸如 PaperTrail.enabled = true 之类的东西。和 PaperTrail.enabled = false围绕给定的测试,一切正常。

但是,当我使用 RSpec 运行测试时,需要 PaperTrail 的测试失败。更具体地说,似乎是 before 中的代码过滤器可以生成版本对象,测试中的代码不能。经过大量的挖掘、修补和尝试代码片段(我尝试过 thisthis ),看起来最好的解决方案是使用 require "paper_trail/frameworks/rspec" PaperTrail README中提到的行.

不幸的是,这些中的每一个都让我保持在我开始的地方——测试通过 Guard/Spork 但不是普通的 RSpec。这是一个特别的问题,因为当我在本地使用 Spork 时,我们的持续集成服务器直接运行 RSpec。

有没有人有任何见解?

最佳答案

PaperTrail 现在有关于使用 vanilla rspec 进行测试的文档

https://github.com/paper-trail-gem/paper_trail#7b-rspec

包含后 require 'paper_trail/frameworks/rspec'在您的 spec/rails_helpers.rb

... PaperTrail will be turned off for all tests by default. To enable PaperTrail for a test you can either wrap the test in a with_versioning block, or pass in versioning: true option to a spec block.

关于ruby-on-rails - (Rails) PaperTrail 和 RSpec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19256791/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com