Я уже создавал приложения с тестами, но по некоторым причинам мои тесты не могут достичь контроллера. Приложение работает нормально при попадании на сервер API с запросами.
В отличие от [этот вопрос ( Rspec не достигает контроллера ), фильтры отсутствуют до *. 1005 *
Контроллеры / testing_controller.rb:
class TestingController < ActionController::API
def testing
puts "Success. Reached the Testing Controller."
# The above line is never echoed in the console as it should when reached.
render json: { body: "Success. Reached the Testing Controller." } and return
end
end
Тесты / Контроллеры / testing_controller_test.rb:
class TestingControllerTest < ActionDispatch::IntegrationTest
def setup
# Required for another app I built and tested.
host! "localhost:3000"
end
test "should pass echo string" do
post testing_url, params: {}
response_parsed = JSON.parse(response.body)
# JSON parsing error encountered at line above.
puts response_parsed.inspect # Returns nil if I remove the JSON parsing above.
end
end
конфиг / routes.rb:
Rails.application.routes.draw do
post "testing", to: "testing#testing", as: "testing"
end
Не уверен, имеет ли это отношение к маршрутам ... но, как я уже говорил, он все еще работает вне тестирования. Это тоже те же классы, но, возможно, я использую неправильные классы тестирования?