所以我有一个类似下面的测试:
[Fact]
public void Test1()
{
Assert.ThrowsAsync<ArgumentNullException>(() => MethodThatThrows());
}
private async Task MethodThatThrows()
{
await Task.Delay(100);
throw new NotImplementedException();
}
令我惊讶的是,Test1成功通过了.为了让它失败,我必须这样写:
Assert.Throws<ArgumentNullException>(() => MethodThatThrows().Wait());
如果ThrowsAsync()在上述场景中不起作用,它的用途是什么?