Итак, у меня есть тест вроде следующего:
[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(), если она не работает в описанном выше сценарии?