|
|
1
0
DI容器 should not be necessary during unit testing . 相反,在应用程序启动时使用DI容器来解析应用程序的依赖关系图,以及 那就让开 . 但是,听起来您已经应用了 Service Locator anti-pattern 你现在感觉到了痛苦。不幸的是,没有一个简单的方法可以解决这个问题。 显然,在单元测试期间,您不能依赖真实的HTTP上下文,因为它在该环境中对您不可用,所以需要将它们隐藏在接口后面。如果您使用的是.NET 3.5 SP1,那么您可能可以使用System.Web.Abstractions中引入的抽象,否则,您可以自己提取一些。 一旦你介绍了这些 接缝 在您的系统中,您可以使用适当的依赖注入(最好是 构造器注入 )把它们注入你的消费类。 在任何情况下,以下 测试驱动开发 一开始就可以非常有效地防止这种紧耦合的引入。 |