Автоматическое повторное выполнение тестов, которые терпят неудачу
Вопрос
У меня есть набор тестов Selenium/mbunit, которые работают нормально, но, как правило, требуется некоторое время, чтобы запустить (более 4 часов), что я обнаруживаю, что около 1 из 20 тестов, кажется, есть время ожидания при запуске. Я подтвердил, что сетка Selenium работает, а Selenium RC все в порядке, это просто кажется Qwerk of System. Что действительно раздражает, так это то, что если я снова запустим эти тесты, они обычно пройдут.
Что я хочу знать, так это то, есть ли у меня способ автоматически повторно повторно испытаний (вероятно, в коде), если пойман в пертикулярном типе исключения ...
Я попытался поместить несколько строк кода в заявление об уловке, но я знаю, что это очень хакерский способ запуска тестов. Вот код:
catch (AssertionException e)
{
if (e.Message() == "TimeOut") //Something similar to this
{
this.Test();
}
else
{
verificationErrors.AppendLine(browserList[i] + " :: " + e.Message);
}
}
Какие-либо предложения?
Решение
Вероятно, это не реальный ответ на ваш вопрос, но, поскольку проблема связана с проблемой тайм -аута, возникающей при выполнении тестов, вы пытались изменить значение тайм -аута по умолчанию (я полагаю, 10 минут), используя), используя), используя), используя), используя), используя), используя), используя TimeoutAttribute
?
[TestFixture, Timeout(3600)] // Use 1 hour instead.
public class MyTestFixture
{
// ...
}