加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何单元测试MSTest中的JsonResult和集合

发布时间:2020-12-15 18:45:04 所属栏目:asp.Net 来源:网络整理
导读:即使我已经编码了很长时间,我非常新的单元测试。我想让这成为我发展方式的一部分。我碰到了如何单元测试像收藏的东西。我通常有我的jQuery脚本调用ASP.Net服务器端方法来获取数据和填充表等。他们看着像是 Get_*Noun*() 这通常返回一个JsonResult。使用MSTe
即使我已经编码了很长时间,我非常新的单元测试。我想让这成为我发展方式的一部分。我碰到了如何单元测试像收藏的东西。我通常有我的jQuery脚本调用ASP.Net服务器端方法来获取数据和填充表等。他们看着像是
Get_*Noun*()

这通常返回一个JsonResult。使用MSTest进行单元测试的任何想法以及如何测试这些?

解决方法

您应该可以像其他任何东西一样测试,只要您可以从JsonResult中提取值。这是一个帮助你的人:
private T GetValueFromJsonResult<T>(JsonResult jsonResult,string propertyName)
{
    var property =
        jsonResult.Data.GetType().GetProperties()
        .Where(p => string.Compare(p.Name,propertyName) == 0)
        .FirstOrDefault();

    if (null == property)
        throw new ArgumentException("propertyName not found","propertyName");
    return (T)property.GetValue(jsonResult.Data,null);
}

然后像往常一样调用控制器,并使用该帮助程序测试结果。

var jsonResult = yourController.YourAction(params);
bool testValue = GetValueFromJsonResult<bool>(jsonResult,"PropertyName");
Assert.IsFalse(testValue);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读