private VisualStudio.TestTools.UnitTesting.TestResult[] ExecuteWithRetry( int retryCount, VisualStudio.TestTools.UnitTesting.ITestMethod testMethod) { VisualStudio.TestTools.UnitTesting.TestResult[] testResults = base.Execute(testMethod); if (testResults.Any((tr) => tr.Outcome == VisualStudio.TestTools.UnitTesting.UnitTestOutcome.Failed)) { if (retryCount > 0) { Logger.LogLine($"Test method {testMethod.TestClassName}.{testMethod.TestMethodName} failed. Retrying ({retryCount - 1} left)."); return(this.ExecuteWithRetry(retryCount - 1, testMethod)); } } return(testResults); }
public override VisualStudio.TestTools.UnitTesting.TestResult[] Execute(VisualStudio.TestTools.UnitTesting.ITestMethod testMethod) => this.ExecuteWithRetry(this.maxRetry, testMethod);