我正在开发一个还没有 DI 或单元测试的 asp.net mvc 应用程序。因此,我开始通过将应用程序拆分为 3 层来重构应用程序以进行单元测试:控制器 - 服务 - 数据访问。一些控制器使用 Session 和 Cookies 来存储和检索值。所以我创建了一个接口和一个类来处理从 Session 和 Cookies 中保存和检索值。我只是通过使用单元测试来做到这一点,从未运行过应用程序。由于应用程序没有 DI,我在控制器的构造函数上创建了 ContextService,方法是将控制器的 HttpContext 作为输入参数。但是,当我运行应用程序时,这些值没有被检索或保存在 Session 或 Cookies 中。构造函数上的 HttpContext 似乎为空。问题 1:我应该如何处理我的 ContextService。它应该使用静态属性 HttpContext.Current 来访问会话和 cookie(它将如何进行单元测试)还是......?问题 2:如果您知道另一种解决方案,它应该如何适应以便将来也有 DI。
1 回答
- 1 回答
- 0 关注
- 205 浏览
添加回答
举报
0/150
提交
取消