Help me figure out how to restart tests for mstest (I just switched to it). I know that there is no built-in restart functionality, but I know that you can create custom attributes. I tried creating a "retry" attribute, but it doesn't rerun the tests if they fail.
[AttributeUsage(AttributeTargets.Method, AllowMultiple = false)] public class RetryAttribute : TestMethodAttribute { private readonly int _tryCount; public RetryAttribute(int tryCount) { _tryCount = tryCount; } public override TestResult[] Execute(ITestMethod testMethod) { var results = new List<TestResult>(); for (int i = 0; i <= _tryCount; i++) { TestResult result = base.Execute(testMethod)[0]; results.Add(result); if (result.Outcome == UnitTestOutcome.Passed) break; if (i < _tryCount) { Logger.LogMessage($"Retry {i + 1}/{_tryCount} for test {testMethod.TestMethodName}"); } } return results.ToArray(); } }