![]() |
1
25
Here 是一个相关的讨论。
我停止引用
和使用
然后在测试中写下:
其中getMockedHttpContext()来自 here 看起来是这样的:
它使用 mocking framework 打电话 moq
在测试项目中,必须添加对
|
![]() |
2
2
如果使用模拟,可以将此逻辑包装在另一个类中:
实现真正的目标:
但在测试中,创建一个模拟并返回“真”或“假”:
|
![]() |
3
1
您可以考虑依赖system.web.abstractions.httpContextBase,而不是使用httpContext.current。System.Web.Abstractions程序集已经为您包装了许多常见的ASP.NET HTTP*类。它们被广泛用于ASP.NET MVC代码。如果您使用的是IOC/DI框架,那么很容易使用。例如,在ninject中:
然后在你的构造器中…
这太简单了,但我希望你能明白…正如Aliostad提到的,您可以使用Rhino Mocks或MoQ等轻松模拟httpContextBase,以测试需要授权的某些操作。 |
![]() |
4
0
我最后在Web服务上放置了一个属性:
然后在我的Web服务方法中:
然后在我的测试中(我用的是犀牛模型):
|
![]() |
5
0
基于上面的解决方案,我在 O2 Platform 这允许这些模拟类的简单使用,例如,这就是我如何从httpRequest.inputstream中写入和读取的方法。
有关详细信息,请参阅此日志: http://o2platform.wordpress.com/2011/04/05/mocking-httpcontext-httprequest-and-httpresponse-for-unittests-using-moq/ |
![]() |
Chan Yoong Hon · 导航到新页面并显示警报框 6 年前 |
|
chapas · 注入到不同的项目/程序集中 8 年前 |
![]() |
shannon · GetHashCode只是这里的货物崇拜吗? 11 年前 |