1

rspecコントローラーテストがあります:

describe TestController do
  it "test all actions" do
    all_controller_actions.each do |a|
      expect{get a}.to_not rais_error(SomeError)
    end
  end
end

メソッドを実装するにはall_controller_actions

4

3 に答える 3

2

より良い方法は、コントローラーのアクション メソッドごとに異なるテストを作成することです。

TestCaseRailsクラスのドキュメントを見ると、コントローラーテストが作成されるクラス(rspecでさえこのクラスをラップするだけです)、私が何を意味するかがわかります:

http://api.rubyonrails.org/classes/ActionController/TestCase.html

ドキュメントは言う:

機能テストでは、テスト メソッドごとに 1 つのコントローラー アクションをテストできます。

その意図は、コントローラー テストがコントローラー内の各アクションに対して異なるテスト メソッドを持つことです。

于 2013-04-18T02:50:32.237 に答える