【发布时间】:2011-03-31 22:29:08
【问题描述】:
我遇到了一个相当棘手的问题。可能有一个简单的解决方案,但我找不到!
我有一个自定义的 HttpHandler,我想处理一个请求,记录某些信息,然后在数据库中输入详细信息。我正在使用 NUnit 和 Castle Windsor。
所以我有两个接口;一个用于记录另一个用于数据输入,它们是构造函数注入的。我很快发现没有办法调用构造函数,因为总是调用默认的无参数构造函数。
所以我想我会使用 Setter 注入并让 Castle windsor 解决它。这实际上在我使用container.Resolve<CustomHttpHandler>(); 时起作用,我可以检查记录器是否不为空。 (在 Global.asax.cs 的 Application_Start 中)
问题是虽然 Castle Windsor 可以创建 http 应用程序没有使用的实例???我想??
基本上,这样做的全部原因是能够通过模拟和单元测试隔离地测试记录器和数据存储库代码。
有什么想法可以解决这个问题吗?
谢谢!
【问题讨论】:
-
马特,这样改变你的问题并不酷,因为你使所有现有的答案无效,你强迫每个人更新。请恢复您的编辑并创建一个新问题。
-
嗨毛里西奥。抱歉,显然我不知道这是如何工作的。已恢复并创建了一个新问题。谢谢!
标签: dependency-injection mocking castle-windsor ioc-container httphandler