【发布时间】:2019-12-05 08:20:33
【问题描述】:
我有一个方法可以使用 Flurl 对两个不同的 url 进行两次 HTTP 调用。我需要对这种方法进行单元测试,我希望 Flurl 在该方法中以两种不同的响应进行响应。我该如何设置?
我的测试课是这样的:
public class SUT
{
public async Task Mut(object obj)
{
var x = await url1.PostJsonAsync(obj).ReceiveJson();
if ((bool)x.property = true)
{
var y = await url2.GetJsonAsync();
// Process y.
}
}
}
我有一个测试类如下:
public class TestSut : Disposable
{
private readonly HttpTest httpTest;
public TestSut()
{
httpTest = new HttpTest();
}
[Fact]
public async Task TestMut()
{
// call Mut...
}
public void Dispose()
{
httpTest?.Dispose();
}
}
我想要的是这样的:
httpTest.ForUrl(url1).ResponsdWithJson(...);
httpTest.ForUrl(url2).ResponsdWithJson(...);
【问题讨论】:
-
目前没有,但我计划在 3.0 中涵盖此场景,同时选择加入/退出模拟特定调用。关注this issue,我打算尽快投入工作。