If you are upgrading from a previous Rails version or want to use Shoulda with Rails 4 and Test Unit the possibility that your Shoulda matchers won’t work with your test is pretty high. In this case when you trying to run your tests it throws an error like below.
undefined method `validate_presence_of' for UserTest:Class
It’s because actually Shoulda is not getting loaded properly due to some namespace changes and thus leading to this error.To overcome this situation.We need to modify our test_helper.rb file adding the proper namespaces.
require 'shoulda' class ActiveSupport::TestCase ActiveRecord::Migration.check_pending! include Shoulda::Matchers::ActiveRecord extend Shoulda::Matchers::ActiveRecord include Shoulda::Matchers::ActiveModel extend Shoulda::Matchers::ActiveModel ... end
Happy Hacking <3