0

同じ名前の 2 つのコントローラーがありますが、異なるフォルダーにあります。

1 つは「controllers」にあり、もう 1 つは「controllers/api/v1」にあります。

前者はスムーズに実行されていますが、後者は実行されていません。

両方のテスト ファイルは機能テスト フォルダーにあります。

実行中のテスト ファイル:

# encoding: utf-8
require 'test_helper'
require_relative '../../app/controllers/post_controller'

class PostControllerTest < ActionController::TestCase
...

テストを実行していません:

# encoding: utf-8
require 'test_helper'
require_relative '../../app/controllers/api/v1/post_controller'

class ApiPostControllerTest < ActionController::TestCase
...

理由はありますか?ありがとう

- - - ノート - - -

ファイル名にテスト参照がないため、テストを実行していませんでした。

vimshaの回答でうまくいきました。

4

1 に答える 1

1

ActionController::TestCase は、テスト クラス名からテスト対象のコントローラーを自動的に推測します。

あなたのテストは以下のようになるはずです

class Api::V1::PostControllerTest < ActionController::TestCase
end

また

class ApiPostControllerTest < ActionController::TestCase
 tests Api::V1::PostController
end
于 2013-10-10T16:47:42.467 に答える