REST Api アプリケーションで単体テストの実装を開始します。versionist gemを使用しています。
だから、私はこのような名前のクラスを持っています:Api::V0_1_0::TestController
class Api::V0_1_0::TestController < Api::V0_1_0::BaseController
def test
respond_with({
:message => "done"
})
end
end
routes.rb
(すべてのルートではなく、必要なものだけ):
MyApp::Application.routes.draw do
# -----------------------------------------------------------------------------------------------------------------------------------------
# ApiVersions
#
scope :module => "api",
:defaults => {:format => "json"} do
# ---------------------------------------------------------------------------------------------------
# V0.1.0
# Default version
#
api_version :module => "V0__1__0",
:header => "X-Version", :value => "0.1.0" do
# Test controller
get "/test" => "test#test"
end
# ---------------------------------------------------------------------------------------------------
# ---------------------------------------------------------------------------------------------------
# V0.1.1
# Default version
#
api_version :module => "V0__1__1",
:header => "X-Version", :value => "0.1.1" do
# Test Controller
get "/test" => "test#test"
end
# -----------------------------------------------------------------------------------------------------------------------------------------
# -----------------------------------------------------------------------------------------------------------------------------------------
# ActiveAdmin routes
#
ActiveAdmin.routes(self)
devise_for :admin_users, ActiveAdmin::Devise.config
# -----------------------------------------------------------------------------------------------------------------------------------------
end
機能テスト ファイル:
class Api::V0_1_0::TestControllerTest < ActionController::TestCase
test "should get test" do
get :test
assert_response :success
end
end
起動するとrake test:functionals
。私はこのエラーがあります:
{:controller="api/v0_1_0/test", :action="test"} に一致するルートがありません
そして、私が起動するrake routes
と、私は持っています:
test GET /test(.:format) {:format=>"json", :controller=>"api/V0__1__0/test", :action=>"test"}
V0__1__0
と notの二重下線付きV0_1_0
。
この問題を解決する方法がわかりません。
編集:追加しroutes.rb
ました。
注: ここにも問題を投稿しました: https://github.com/bploetz/versionist/issues/9