0

ルートを単体テストしようとしていますが、問題が発生し始めています。アクション メソッドのパラメーターの一部は、URL からではなく、次の記事に基づいてアクション フィルターによって提供されます。 -メソッド-parameters.aspx

問題は、アクションフィルターによってアクションパラメーターに追加されているアクションメソッドに/some/path/idマップするurl: があることです。を作成せずにこのテストに合格する方法を確認できるようになりました。public ViewResult Action(int id, Guid sessionId)sessionIdGuidGuid?

"~/some/path/1".ShouldMapTo<SomeController>(x => x.Action(1, <anyGuid>));

何か案は?

4

1 に答える 1

1

Guid を Guid にしない限り、このテストに合格する方法はありませんか?

まあ、実際には方法があります。

Rhino Mocks を使用している場合 (これはデフォルトでMvcContrib.TestHelperにバンドルされているため、すでに暗黙的に使用されています):

"~/home/action/1"
    .ShouldMapTo<SomeController>(x => x.Action(1, Arg<Guid>.Matches(y => true)));

Moqを使用している場合:

"~/some/action/1"
    .ShouldMapTo<SomeController>(x => x.Action(1, It.IsAny<Guid>()));

他のモッキング フレームワークを使用している場合は、任意のパラメータ制約を指定できる構文に関するドキュメントを確認してください。

于 2012-08-15T20:46:18.563 に答える