无法将动态 table 实体转换为断言中的 System.threading 实体

Cannot convert Dynamic table entity to System.threading entity in assert

我正在尝试对我的函数实施断言,该函数在单独的项目中调用。调用的函数如下:

public async Task<List<DynamicTableEntity>> PopulateTable(
        string documentId,
        IEnumerable<string> lines,
        JsonSchema schema,
        string type,
        string subType,
        string format,
        bool upsert ){var tableEntries = new List<DynamicTableEntity>( tableData.Count );
.....
return tableEntries;  }

在某些情况下,它会抛出异常,我想使用 Xunit 框架进行测试。我的 TDD 代码是这样的:

 public async Task UploadAndSchemaCheckOnMissingKey()
 {      
    var table = await _tableStore.PopulateTable(null, lines, schema, "tableOutput", null, "test", false);
       
    await Assert.ThrowsAsync<ArgumentException>(table);
 }

我收到无法转换的错误 System.Collection.generic.List<table.DynamicEntity> to System.Func<System.Threading.tasks.task>

当我的测试用例抛出异常时,我应该如何处理?

你可以像这样使用它:

Func<Task> table = async() => await _tableStore.PopulateTable(null, lines, schema, "tableOutput", null, "test", false);
var ex = await Assert.ThrowsAsync<FormatException>(table);
Assert.Contains("expected error message", ex.Message);