我一直在使用rspec和后卫自动运行我的测试我保存文件,但后卫每次都运行两次我不明白为什么,我在另一篇帖子中看到它可能是因为spec_helper.rb中有一个重复的配置选项,但我认为不是我的情况。我留下了spec_helper文件内容。希望知道如何解决这个问题,它开始需要很长时间等待后卫运行两次相同的
由于
# This file is copied to spec/ when you run 'rails generate rspec:install'
ENV["RAILS_ENV"] ||= 'test'
require File.expand_path("../../config/environment", __FILE__)
require 'rspec/rails'
# Requires supporting ruby files with custom matchers and macros, etc,
# in spec/support/ and its subdirectories.
Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }
# Checks for pending migrations before tests are run.
# If you are not using ActiveRecord, you can remove this line.
ActiveRecord::Migration.check_pending! if defined?(ActiveRecord::Migration)
RSpec.configure do |config|
# ## Mock Framework
#
# If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
#
# config.mock_with :mocha
# config.mock_with :flexmock
# config.mock_with :rr
config.include Devise::TestHelpers, type: :controller
# If true, the base class of anonymous controllers will be inferred
# automatically. This will be the default behavior in future versions of
# rspec-rails.
config.infer_base_class_for_anonymous_controllers = false
config.include FactoryGirl::Syntax::Methods
config.before(:suite) do
FactoryGirl.lint
DatabaseCleaner.strategy = :transaction
DatabaseCleaner.clean_with(:truncation)
end
config.before(:all) do
DatabaseCleaner.start
end
config.before(:each) do
reset_email
end
config.after(:all) do
DatabaseCleaner.clean
end
config.include(MailerMacros)
config.include Rails.application.routes.url_helpers
end
答案 0 :(得分:1)
尝试从config.order = "random"
spec_helper.rb
答案 1 :(得分:0)
当您有多个具有相同名称的文件时,通常会发生这种情况。只需重命名你的rake文件,其中包含运行两次的逻辑。
请记住,可能存在您无权访问的内部gem文件,这些文件可能会与Guardfile冲突,从而导致重复执行。
答案 2 :(得分:0)
我强烈建议您在Guard
中阅读此新 Wiki条目:https://github.com/guard/guard/wiki/Understanding- Guard
...仅仅是因为上面没有提供足够的信息来查找原因(并且有一些可能的 - 像编辑器具有备份文件选项,缺少忽略规则,不支持的编辑器,慢文件系统,不正确的延迟,错误的规则在Guardfile
中,多个监视规则匹配,Guard
中的错误等。)
但是,Wiki页面可以快速帮助您深入了解核心原因。
如果是Listen
问题,请在此处查看维基:https://github.com/guard/listen/wiki
(尤其是LISTEN_GEM_DEBUGGING=1
环境变量,以查看您是获得多个事件还是多个回调。)
获得该信息后,您可以在Guard
中提交问题,我们可以根据您的情况确定原因。