我正试图在我的函数上实现一个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; }
在某些情况下,它会抛出一个异常,我想使用Xuit框架进行测试。我的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);