【问题标题】:httpContext.Request.RequestContext.RouteData.DataTokens throws Null Reference exceptionhttpContext.Request.RequestContext.RouteData.DataTokens 抛出空引用异常
【发布时间】:2022-01-05 14:43:55
【问题描述】:

我正在尝试为使用来自测试方法的MockHttpContext 的方法编写单元测试(使用 NUnit 和 MOQ),如下所示: 但是,httpContext.Request.RequestContext.RouteData.DataTokens 抛出空引用异常,因为 RouteData 为空。我正在初始化RequestContext,如下图所示:

我应该怎么做才能避免这个错误?

【问题讨论】:

  • 路由数据或令牌为空。为避免错误填充测试期间访问的所有成员。

标签: c# asp.net sqlite mocking


【解决方案1】:

很明显,你不仅需要初始化RequestContext。 你需要初始化HttpContext 和所有子文件到DataTokens

  1. 你需要为一个返回DataTokens的对象创建一个mock
  2. RouteData 对象和Setup GetValue 方法创建一个模拟,以返回DataTokens 用于上述步骤
  3. ...对所有对象执行相同操作:RequestContextRequestHttpContext

【讨论】:

    猜你喜欢
    • 2021-04-29
    • 1970-01-01
    • 2011-07-22
    • 2014-11-19
    • 1970-01-01
    • 1970-01-01
    • 2023-03-13
    • 1970-01-01
    • 2020-10-12
    相关资源
    最近更新 更多