I have rspec configured installed in my rails app. It was working fine (We are just experimenting with rspec so there's only 2 tests).
They were working fine. Now rspec is freezing when it's going to perform a test using database.
I just freezes. I don't even know were to start looking because there's no error in the output.
Is there a verbose or debugging mode for rspec or someone ever faced this?
I've tried -b but it freezes before can give an error.
Output: (Rspec is configured with --format documentation)
[leandro@machine:~] rspecUser
Than, that's it. It hangs. I has to reset manually the computer twice.
This is the user_spec.rb
require 'spec_helper'describe User do let(:user) { User.create({ username: "teste", email: "teste@teste.com", name: "Teste", phone: "123456789", password: "123456", notes: "Teste" }) } subject { user } it "is invalid without a username" do user.username = nil is_expected.not_to be_valid endend
And my spec_helper.rb
# 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'Dir[Rails.root.join("spec/support/**/*.rb")].each { |f| require f }# Checks for pending migrations before tests are run.ActiveRecord::Migration.maintain_test_schema!RSpec.configure do |config| config.infer_base_class_for_anonymous_controllers = false config.order = "random" config.color = true config.tty = true config.formatter = :documentation #:progress, :html, :textmate config.expect_with :rspec do |c| c.syntax = :expect endend
SOLUTION
It turns out that delayed_job_active_record
gem was causing the hanging.
I don't know why, but as @Greg Malcolm I looked into the log/teste.log
and rspec was feeezing right after createing the delayed jobs database and setting up a new user.
I've restricted the gem just for development and production enviroment, and it worked!