我已经阅读了一些关于如何模拟或模拟HttpClient的文档,但是我不能成功地为我的单元测试复制。到目前为止,我还不能接口HttpClient,所以我选择注入HttpMessageHandler,其想法是设置它,以便返回对客户机的任何调用的响应。
internal async Task Poll(Func<TimeSpan?, HttpClient> httpClientFactory, CancellationToken cancellationToken)
{
using (var client = httpClientFactory(_requestTimeout))
{
try
{
using (var response = await client.GetAsync(url, cancellationToken).ConfigureAwait(false))
{
// Do stuff with that
}
}
}
}
var response = new HttpResponseMessage(httpStatusCode) { Content = responseContent };
var mockHttp = new Mock<HttpMessageHandler>();
mockHttp.Protected()
.Setup<Task<HttpResponseMessage>>("SendAsync", ItExpr.IsAny<HttpRequestMessage>(), ItExpr.IsAny<CancellationToken>())
.ReturnsAsync(response);
var client = new HttpClient(mockHttp.Object);
var mockedClientFactrory = new Mock<Func<TimeSpan?, HttpClient>>();
mockedClientFactrory.Setup(clientFactory => clientFactory(It.IsAny<TimeSpan?>())).Returns(client);
不需要模拟函数委托。
创建实际函数
//...
Func<TimeSpan?, HttpClient> clientFactrory = _ => client;
//...
我有这个代码。净核心。我们意识到Core现在不太适合我们,所以我一直在重构。Net 4.5.2和当我打电话
我遇到的一个问题是水平导航栏。我已经使用flexbox实现了它。 我有一个导航条,当我缩小它时,列表项(有黑色边框)不会停留在无序列表容器中(有紫色边框) 根据我对每个flex box的理解,应该使用flex属性在父容器中调整大小。但是在我的例子中,列表项不会在无序列表容器中调整大小。以下是正在发生的事情的图片: 这是我的html代码:
Python 3.4和Pandas 0.15.0 df是一个数据帧,col1是一列。使用下面的代码,我正在检查值10的存在,并将这些值替换为1000。 这是另一个例子。这一次,我将根据索引更改col2中的值。 这两种情况都会产生以下警告: 最后 这将产生一个类似的警告,并附带一个建议: 我不确定我是否理解警告中指出的讨论。编写这三行代码的更好方法是什么? 请注意,这些操作是有效的。
编辑:在测试用例5中,任务似乎处于状态。 我在.NET 4.5中使用System.net.http.HttpClient时遇到了一些奇怪的行为--其中“等待”调用的结果(例如)将永远不会返回。 只有在使用新的Async/Await语言功能和任务API的特定情况下才会出现这种情况--代码似乎总是在只使用延续时工作。
utest 简介 utest(unit test)是 RT-Thread 开发的单元测试框架。设计 utest 的初衷是方便 RT-Thread 开发者使用统一的框架接口编写测试程序,实现单元测试、覆盖测试以及集成测试的目的。 测试用例定义 测试用例(testcase,简称 tc)是为实现特定测试目标而执行的单个测试,是包括测试输入、执行条件、测试过程和预期结果的规范,是一个有明确的结束条件和明确