12

返すメソッドがあります

return new  System.Web.Mvc.JsonResult()
{                     
    Data = new
    {
        Status = "OK", 
    }
}

それを検証する必要がある場所で単体テストを作成する必要がありjsonResult.Data.status= "OK"ます。

status プロパティを読み取るにはどうすればよいですか?

更新: [アセンブリ: InternalsVisibleTo("TestingAssemblyName")] を試しましたが、役に立ちませんでした。{"'System.Web.Mvc.JsonResult' には 'Status' の定義が含まれていません"} というエラーが発生し続けました

また、テストしているコードを変更しないことを好むと思います。

そこで、ジョンのアドバイスを受けて、リフレクションを使用しました。

        var type = jsonResult.Data.GetType();

        var pinfo = type.GetProperty("Status");

        string  statusValue = pinfo.GetValue(jsonResult.Data,null).ToString();

        Assert.AreEqual("OK", statusValue);
4

2 に答える 2