Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# xUnit Assert.All()异步_C#_Xunit_Xunit.net_Xunit2 - Fatal编程技术网

C# xUnit Assert.All()异步

C# xUnit Assert.All()异步,c#,xunit,xunit.net,xunit2,C#,Xunit,Xunit.net,Xunit2,我使用以下方法进行了此示例测试: 是否有一个好的解决方案使整个测试异步/可等待?没有内置的异步所有。您可以使用任务。所有时: [Fact] public async Task SomeTest() { var itemList = ...; var results = await Task.WhenAll(itemList.Select(async item => { var i = await Something(item); re

我使用以下方法进行了此示例测试:


是否有一个好的解决方案使整个测试异步/可等待?

没有内置的异步
所有
。您可以使用
任务。所有
时:

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

将测试方法签名更改为
public async Task SomeTest()
@Igor:这种更改只会使
SomeTest()
表面上是可以等待的
Assert.All()
的行为方式仍然相同。方法不错,但
var results=wait Task。whalll(tasks)
为您提供了一个很好的结果数组。谢谢@StephenCleary。编辑。
[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));
}