Тестирование пользовательских маршрутов в рельсах 3.0.1 не работает, или это у меня? - PullRequest
1 голос
/ 11 января 2012

По какой-то причине, когда я запускаю этот функциональный тест

require 'test_helper'

class ListControllerTest < ActionController::TestCase

  test "should get mylist" do
    post :mylist, :format => :json

    assert_response :success
  end
end

rout.rb

SomeApplication::Application.routes.draw do
  match "/mylist" => "list#mylist", :method => "POST"
end

list_controller.rb

class ListController < ApplicationController
  def mylist
    respond_to do |format|
      format.json  { render :json => []}
    end
  end
end

Исходный код какСуть

Я получаю эту ошибку:

1) Error:
test_should_get_mylist(ListControllerTest):
ActionController::RoutingError: No route matches {:controller=>"list", :format=>:json, :action=>"mylist"}
/test/functional/list_controller_test.rb:6:in `test_should_get_mylist'

Есть идеи?

С уважением,

Михал

1 Ответ

0 голосов
/ 11 января 2012

OK.Я понял.Эти глупые ошибки сложнее всего обнаружить.Иногда я требую, чтобы ruby ​​использовал строгую типизацию;)

проблема в файле rout.rb.Вместо:

match "/mylist" => "list#mylist", :method => "POST"

это должно было быть

match "/mylist" => "list#mylist", :via => :post

Спасибо всем, кто пытался мне помочь.

...