2

私はmoqを使うのは初めてです。ASP.NetMVC2プロジェクトの単体テストケースを作成しています。コントローラーの1つに、コードがあります。

if(ModelState.IsValid){...... ......}

私はこのように私のテスト方法でそれをモックしようとしました。

var modelState = new Mock<ModelStateDictionary>();
modelState.Setup(x => x.IsValid).Returns(true);

しかし、問題は、テストメソッドを実行するたび ModelState.Isvalidにfalseが返されることです。問題は、自分のテストプロジェクトしか処理できないことです。ASP.Netmvc2プロジェクトに変更を加える権限がありません。あなたの誰かがこれをする考えを持っていますか?ありがとうございました。

4

1 に答える 1

1

あなたができることはModelState、次のように、にモデルエラーを追加することです。

var controller = new YourController();
controller.ModelState.AddModelError("An error");

これらの2行でIsValidは、falseである必要があります。

于 2012-06-29T12:46:07.707 に答える