xUnit断言.All()异步
本文关键字:异步 All 断言 xUnit | 更新日期: 2023-09-27 17:58:37
我有一个使用xUnit:的示例测试
[Fact]
public void SomeTest()
{
Assert.All(itemList, async item=>
{
var i = await Something(item);
Assert.Equal(item,i);
});
}
有没有一个好的解决方案可以使整个测试异步/不可用?
在xUnit 2.4.2及以上版本中,使用Assert.AllAsync
。否则,您可以使用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