针对dynamic类型进行单元测试的方法(例如ASP.NET MVC中的JsonResult)
由于在.NET 4.0中引入了dynamic类型特性,能够让我们对例如ASP.NET MVC中的JsonResult这样的dynamic类型进行单元测试更加方便,无需再使用繁琐的反射、Json序列化等办法。
首先,在我们的MVC工程的\Properties\AssemblyInfo.cs文件中加入如下一行:
[assembly: InternalsVisibleTo("XXXX.UnitTests")]
其中的"XXXX.UnitTests"是测试工程的名称。
然后,我们就可以在单元测试中对dynamic类型进行方便的测试了:
JsonResult result = (JsonResult)_controller.New(); dynamic data = result.Data; Assert.AreEqual("Success", data .message);