我有一个服务,使用Microsoft.Net.Http
来检索一些Json
数据。很好!
当然,我不想让我的单元测试访问实际的服务器(否则,那就是集成测试)。
这是我的服务构造函数(使用依赖注入...)
public Foo(string name, HttpClient httpClient = null)
{
...
}
我不确定如何使用...比如Moq
或者FakeItEasy
来模拟这个。
我想确保当我的服务调用GetAsync
或者PostAsync
时,我可以伪造这些调用。
有什么建议吗?
我希望我不需要自己制作包装器..因为那很糟糕 :( Microsoft不可能会忽略这一点,对吧?
(是的,制作包装器很容易..我以前做过...但这是个原则问题!)
HttpClient
的多少个方法和属性?通常为这些创建一个接口可以证明很有用,然后你可以进行模拟。 - CodeCaster