【发布时间】:2020-07-04 20:47:13
【问题描述】:
我在一本书 (ISBN 1838550313, 9781838550318 S.315) 中读到,他们在一个验证方法中使用 EnsureSuccessStatusCode() 和 Assert.Equal(HttpStatusCode.OK, ..) 检查 WEB-API 请求。但是第二个 Assert 调用是否不需要检查 HTTP-Status 是否为 200?有什么区别,最佳做法是什么?
【问题讨论】:
-
据我所知,如果调用失败, EnsureSuccessStatusCode 会抛出异常。所以在我看来, HttpStatusCode.Ok 上的 Assert 是多余的,因为它必须是真的,否则你的测试会抛出异常。但在这件事上,不要使用 async void,使用 async Task。如果您在代码中执行 async void 并引发异常,则您的应用程序已死并且无法恢复,除非您重新启动应用程序。
标签: asp.net-core xunit