MVCコントローラ用のユニットテストケースを作成する予定です。Nunitテストケースの問題
私はNUnitフレームワークを使用しています。ここで
public async Task<ActionResult> SearchView()
{
List<Role> allRoles = (await _nmClient.GetDataAsync<IEnumerable<Role>>(Session, "/UserSvc/v1/Roles?skip=0&take=" + Constants.MaxSearchRowNumber)).ToList();
model.Roles=_helper.GetAvailableRoles(Session.Contents["Session"], allRoles, true);
List<LicenseType> allLicenseTypes = (await _Client.GetPlatformDataAsync<IEnumerable<LicenseType>>(Session, "/UserSvc/v1/Types?skip=0&take=" + Constants.MaxSearchRowNumber)).ToList();
model.TypesJson = Newtonsoft.Json.JsonConvert.SerializeObject(allLicenseTypes);
return View("SearchUsers", model);
}
最初、私はビュー名を検証しようとしています、しかし、私はアクションの結果からビュー名を取得して問題に直面しています:
は、ここに私のコントローラメソッドです。ここ
は私の試験方法である:
[Test]
public void TestSearchUserView()
{
string expected= "SearchUserView";
PlatformUserController controller = new PlatformUserController();
var result= controller.SearchUserView() as Task<ActionResult>;
//Assert.AreEqual("SearchUserView", result.);
}
私は、同様のサービスの応答を模擬することができますか教えてください。ここで
遅れて申し訳ありませんが、上記のコードで試してみましたが、viewResultにはまだnullが返っています。私はなぜそれが起こっているのを助けてください –
あなたは例外を取得していますか?私はテストサンプルをコピーして答えを出すために変更を加えたときにタイプミスに気付きました。あなたのアクションでは 'SearchUsers'という名前のビューに名前を付けますが、テストでは' SearchUsersView'が必要です。私はオリジナルのアクションにあったものに合わせて編集します。 – Nkosi
例外はありません。コントローラ側でデバッグしようとしたときに表示されています.ViewResultがnull.ActionResultである理由が「System.web.Mvc.ViewResult」という単一の行として表示されている理由がわかりません。 –