title: MSTest repeat unit test with different runtime parameter
body: <p>I have a universal test method and I want to test all impementation if INotification:</p>
  
  <pre><code>private async Task TestNotification(INotification notification)
  {
     var result await _notificationService.SendNotification(notification);
     Assert.Something(result);
  }
  </code></pre>
  
  <p>Is it possible to annotante the <code>TestNotification</code> method so that Visual Studio will discover tests for each instance of notification? I have currently only single test:</p>
  
  <pre><code>[TestMethod]
  public async Task TestAllNotification()
  {
      var notificationTypes = typeof(INotification).Assembly.GetTypes()
          .Where(t =&gt; typeof(INotification).IsAssignableFrom(t) &amp;&amp; !t.IsAbstract)
          .ToArray();
  
      foreach (var type in notificationTypes)
      {
          try
          {
              var instance = (INotification)Activator.CreateInstance(type);
              await TestNotification(instance);
          }
          catch(Exception ex)
          {
              throw new AssertFailedException(type.FullName, ex);
          }
      }
  }
  </code></pre>