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));
}