【发布时间】:2012-08-16 12:18:15
【问题描述】:
我最近开始使用 TDD 和依赖注入。这是一个很大的思维转变,我仍在尝试将所有部分拼凑在一起。
我有一个用于所有业务逻辑的服务层,以使控制器尽可能薄。我的服务中的一些服务需要 HttpContext。什么是创建服务以便也可以进行单元测试的最佳方式。
目前我有一个看起来像这样的 ServiceBase
public class HttpContextService
{
private HttpContextBase _ServiceContext;
public HttpContextBase ServiceContext
{
get
{
if (_ServiceContext == null)
_ServiceContext = new HttpContextWrapper(HttpContext.Current);
return _ServiceContext;
}
set { _ServiceContext = value; }
}
}
所以这意味着我所有的服务都可以从这个服务继承。我为 HttpContextBase 创建属性的原因是我可以在对服务进行单元测试时设置它。 1.有没有办法将HttpContext注入Unity Bootstrap文件中的服务。 ? 2. 这是正确的方法还是我错过了什么?
提前致谢。就像我说的,我正在努力理解整个 TDD 依赖注入的编码方式。
【问题讨论】:
-
您的服务中需要
HttpContext的哪些功能?
标签: asp.net-mvc unit-testing dependency-injection unity-container service-layer