1

MvcContrib-TestHelperを使用して、アプリのルーティングをテストしています。HTTPPOSTのみに制限されているアクションがあります。

public TestController
{{
    [HttpPost]
    public ActionResult Example()
    {{
        View();を返します。
    }
}

そして、これは失敗するはずのテストの例です:

[テストフィクスチャ]
パブリッククラスRoutingTests
{{
    [TestFixtureSetUp]
    public void TestFixtureSetUp()
    {{
        RouteTable.Routes.Clear();
        Application.RegisterRoutes(RouteTable.Routes);
    }

    [テスト]
    public void TestWithGet()
    {{
        var route = "〜/ Test / Example" .WithMethod(HttpVerbs.Get);
        route.ShouldMapTo(r => r.Example());
    }
}

ただし、テストは合格です。これも提起されたもう1つの未回答の質問(申し訳ありませんが、間違ったリンク)を見ましたが、機能が壊れているようです。このルートがPOST経由でのみアクセス可能であることをテストするためのより良い方法は何ですか?

4

2 に答える 2

2

そこでASP.NETMVCフレームワークをテストしようとしているようです。私はそのようなテストが価値をもたらすとは思わない...

于 2012-12-20T13:59:26.683 に答える
1

このコードを使用します:

var controller = new HomeController();
var methodInfo = controller.GetType().GetMethod("MrthodName");
var attributes = methodInfo.GetCustomAttributes(typeof(ActionMethodSelectorAttribute), true).Cast<ActionMethodSelectorAttribute>().ToList();

属性-これはリスト受け入れ動詞です

于 2012-12-20T14:33:23.557 に答える