2015-06-19 74 views
1

我们目前正在使用Visual Studio和C#开发硒测试,并使用Visual Studio的内置测试运行器来运行测试。我们通过vstest.console.exe设置时间表来运行我们的测试。我们现在面临的问题是,定期测试会失败,即使它们以前成功运行过10次。我们期望有一点这样,但我们有利益相关者获取邮件提醒失败的测试,他们恐慌:)我该如何重复一次失败的测试,以便它只在x次重复之后失败?

我希望做的是尝试并通过重复失败的测试x次减少误报。说3次。如果在测试重复3次后仍然失败,那么实际上在这一点上通过测试失败。有没有人执行过这个?我一直在四处寻找,但找不到很好的例子

+1

什么测试框架您使用的? NUnit的? – Saifur

+0

我们正在使用visual studio单元测试框架 – Banjaxx

+1

我知道NUnit 3有添加*重试*(或重复)属性来重复测试的请求。不确定单元测试框架 – Saifur

回答

0

您使用try/finally语句回调您TestMethod的:

static int NumberTest = 3; 

    [TestMethod] 
    public void GlobalTest() 
    { 
     try 
     { 
      // Your failed code 
      Assert.Fail(); // to remove of course 
     } 
     finally 
     { 
      NumberTest--; 
      if (NumberTest > 0) 
       GlobalTest(); 
     } 
    }