5

私はコントローラーメソッドを持っています:

public JsonResult CalculateStuff(int coolArg)
{
    if(calculatePossible)
       return Json(CoolMethod(coolArg));
    else return Json(new { Calculated = false });
}

さて、これをテストしたいと思います。

public void MyTest
{
    var controller = GetControllerInstance();
    var result = controller.CalculateStuff().Data as dynamic;
    Assert.IsTrue(result.Calculated == false);        
}

これにより、Calculatedが定義されていないことを示すRuntimeBinderExceptionがスローされます。これを達成する方法はありますか?

アップデート

Jonsのアドバイスに従って、InternalsVisibleToを使用してテストアセンブリと友達になりました。すべてが正常に動作します。ジョンありがとう。

4

1 に答える 1

4

あなたはそれを行うことができますが、同じアセンブリ内でのみです。匿名タイプは内部です。

InternalsVisibleToただし、本番アセンブリでテストアセンブリへのアクセスを許可するために使用する場合も問題ありません。

于 2011-05-24T13:31:35.753 に答える