ruby-on-railsintegration-testingactiondispatch

IntegrationTest raises errors from configuration?


I have some problems while testing my Rails aplication.

I have the simple following file to test a controller (relying on http://guides.rubyonrails.org/testing.html):

require "./test/test_helper"
class GraphControllerTest < ActionDispatch::IntegrationTest

    setup do
        @instance = Instance.where(client_id: 2).first
    end

    test "should_create" do
        assert_difference('Graph.count') do
            post v2_instance_graphs_url(instance_id: @instance.client_id), {'name': "test of test", 'instance_id': @instance.client_id}.to_json, {'Authorization': 'Token token=blabla', 'Content-Type': 'application/json'}
        end
        assert_equal JSON.parse(@response.body)["name"], "test of test"
      end
end

With a test_helper.rb which is:

ENV['RAILS_ENV'] ||= 'test'
require File.expand_path('../../config/environment', __FILE__)
require 'rails/test_help'

class ActiveSupport::TestCase
  # Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
  #
  # Note: You'll currently still have to declare fixtures explicitly in integration tests
  # -- they do not yet inherit this setting
  fixtures :all

  # Add more helper methods to be used by all tests here...
end

I run in console: bin/rake test test/controllers/knowledge_graph_controller_test.rb which should trigger only the two assertions above. However, and I get the two assertions above AND 8 errors.

the errors are the following:

  1) Error:
ActiveSupport::TestCase#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  2) Error:
ActionController::TestCase#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  3) Error:
Minitest::Test#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  4) Error:
GraphControllerTest#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  5) Error:
ActionDispatch::IntegrationTest#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  6) Error:
Minitest::Unit::TestCase#test_app=:
ArgumentError: wrong number of arguments (given 0, expected 1)


  7) Error:
Rails::Generators::TestCase#test_app:
RuntimeError: You need to configure your Rails::Generators::TestCase destination root.


  8) Error:
Rails::Generators::TestCase#test_app=:
RuntimeError: You need to configure your Rails::Generators::TestCase destination root.

which I cannot explain. I don't even understand what file they come from.

I am using Rails 4.2.7.1

Thank you very much for your help!


Solution

  • The problem was an "include ActionDispatch" in another file.