gpt4 book ai didi

c# - xUnit 中的 Assert.DoesNotThrowAsync() 发生了什么?

转载 作者:太空狗 更新时间:2023-10-29 18:08:11 26 4
gpt4 key购买 nike

我通过 NuGet 将我的单元测试项目从版本 2.0.0-beta-{something} 迁移到 2.0.0(稳定版)。似乎 Assert.DoesNotThrowAsync() 不再可用。

例如:

[Fact]
public void CanDeleteAllTempFiles() {
Assert.DoesNotThrowAsync(async () => DocumentService.DeleteAllTempDocuments());
}

结果

DocumentServiceTests.cs(11,11): Error CS0117: 'Xunit.Assert' does not contain a definition for 'DoesNotThrowAsync' (CS0117)

解决方法是省略测试。有没有更好的解决方案?

最佳答案

我只是想用当前信息(2019 年 9 月)更新答案。

正如 Malcon Heck 提到的,最好使用 Record 类。看着xUnit's Github , 我看到当前检查是否没有抛出异常的方法是这样的

[Fact]
public async Task CanDeleteAllTempFiles() {
var exception = await Record.ExceptionAsync(() => DocumentService.DeleteAllTempDocuments());
Assert.Null(exception);
}

关于c# - xUnit 中的 Assert.DoesNotThrowAsync() 发生了什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32256451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com