Visual studio 2015 动态重新运行失败的测试
我的一些测试需要外部资源。这种情况很少发生,但有时资源会出现超时异常,并导致测试失败 我可以知道失败的原因是否是超时,我想让测试在完全失败之前有第二次机会运行Visual studio 2015 动态重新运行失败的测试,visual-studio-2015,mstest,Visual Studio 2015,Mstest,我的一些测试需要外部资源。这种情况很少发生,但有时资源会出现超时异常,并导致测试失败 我可以知道失败的原因是否是超时,我想让测试在完全失败之前有第二次机会运行 那么,有没有办法在测试结束后重新运行测试(在TestCleanup内部)?没有。您必须检查相关单元测试中的超时,并在那里实现您的重试逻辑 这听起来比实际情况更复杂。在您的testmethod中,您可以编写自己的重试逻辑,或者使用企业库中的某些内容传入调用,即,如果在您的testmethod中有以下内容: var result = Inst
那么,有没有办法在测试结束后重新运行测试(在TestCleanup内部)?没有。您必须检查相关单元测试中的超时,并在那里实现您的重试逻辑 这听起来比实际情况更复杂。在您的testmethod中,您可以编写自己的重试逻辑,或者使用企业库中的某些内容传入调用,即,如果在您的testmethod中有以下内容:
var result = Instance.PossibleTimeoutMethod();
然后你可以这样做:
[TestMethod, TestCategory("SLOW")]
public void MyTestMethod()
{
// Arrange (this is not real code, just made for example)
var retryPolicy = new RetryPolicy{
attempts = 3,
timeBetweenAttempts = TimeSpan.FromSeconds(2),
TimeToWaitBeforeThrowing = TimeSpan.FromSeconds(30)
}
ResultType result = null;
// Act
retryPolicy.ExecuteAction(() => result = Instance.PossibleTimeoutMethod());
// Assert
result.ShouldEqual(expectedResult);
}
企业库对您来说可能有些过火,但此处仅供参考: