簡體   English   中英

xUnit Assert.All() 異步

[英]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.AllAsynchttps://github.com/xunit/xunit/discussions/2498

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM