[英]xUnit Assert.All() async
我有這個使用xUnit的示例測試:
[Fact]
public void SomeTest()
{
Assert.All(itemList, async item=>
{
var i = await Something(item);
Assert.Equal(item,i);
});
}
是否有一個好的解決方案可以使整個測試異步/等待?
沒有內置的異步All
。 你可以使用Task.WhenAll
:
[Fact]
public async Task SomeTest()
{
var itemList = ...;
var results = await Task.WhenAll(itemList.Select(async item =>
{
var i = await Something(item);
return i;
}));
Assert.All(results, result => Assert.Equal(1, result));
}
至於 2023,接受的答案不再正確,xunit 團隊添加了Assert.AllAsync
: https://github.com/xunit/xunit/discussions/2498
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.