title: xunit Assert.ThrowsAsync() does not work properly?
body: <p>So I have a test like the following:</p>
  
  <pre><code>    [Fact]
      public void Test1()
      {
          Assert.ThrowsAsync&lt;ArgumentNullException&gt;(() =&gt; MethodThatThrows());
      }
  
      private async Task MethodThatThrows()
      {
          await Task.Delay(100);
          throw new NotImplementedException();
      }
  </code></pre>
  
  <p>To my surprise, Test1 passes successfully. To make it fail I have to write like this:</p>
  
  <pre><code>Assert.Throws&lt;ArgumentNullException&gt;(() =&gt; MethodThatThrows().Wait());
  </code></pre>
  
  <p>What is the purpose of ThrowsAsync(), if it does not work in the scenario above?</p>