有没有办法在测试期间关闭Friendly_id或至少历史模块?

问题描述 投票:0回答:1

我有一个 Rails 应用程序,我在其中添加了Friendly_id,并启用了历史记录模块,并且测试期间的性能直线下降。我说的是绝对最好的跑步时间从 15 分钟到 30 分钟,有时会达到几个小时(不知道需要多长时间,对我来说太长了)。

我的测试创造了很多记录(改天再说吧)。据我所知,有一个与历史记录模块相关的特定查询有时需要长达 1 到 2 秒的时间才能运行。我还不是 100% 确定为什么,但现实是,对于大多数测试,我不需要生成Friendly_id slug,并且除了一个测试之外,我不需要历史记录跟踪。

是否可以暂时关闭Friendly_id slug生成?或者可以关闭历史记录模块吗?

相关代码在这里:https://github.com/pupeno/repeater_world/blob/b83ea68f3bbd4a12c63d726983b70f125e9b6e11/app/models/repeater.rb#L105-L106(全部开源):

include FriendlyId
friendly_id :generate_slug, use: [:slugged, :history]
ruby-on-rails ruby friendly-id
1个回答
0
投票

你可以试试这个:

unless Rails.env.test?
  include FriendlyId
  friendly_id :generate_slug, use: [:slugged, :history]
end

但是我可能会有副作用。

© www.soinside.com 2019 - 2024. All rights reserved.