Идентификация списка тестовых случаев не прошла тестирование - PullRequest
0 голосов
/ 25 мая 2018

Не могли бы вы рассказать, как я могу определить список неудачных тестов при выполнении набора с использованием testng.Мне нужно автоматически выполнить неудачные тестовые случаи.

Заранее спасибо!

1 Ответ

0 голосов
/ 26 мая 2018

В рамках выполнения testng генерирует файл с именем testng-failed.xml, который содержит все детали методов, которые не удалось выполнить.Если вы просто ищете повторный запуск неудачных тестов, вы можете найти этот файл (в проекте maven он находится в папке target.

. Вы можете сделать следующее (я предполагаю, что выиспользуют maven):

  1. Примите имя комплекта в вашем плагине surefire через свойство Maven.
  2. Измените плагин surefire, чтобы он ссылался на свойство maven для имени комплекта.
  3. Создайте сценарий оболочки или пакетный файл, который выполняет следующие действия:
    1. Проверяет, существует ли файл testng-failed.xml в целевой папке.
    2. Если он найден, можно выполнить повторный запуск..
    3. Создайте резервную копию папки с отчетами о достоверности в другом месте, потому что, если этого не сделать, старые отчеты будут перезаписаны.
    4. Перезапустите тесты, передав testng-failed.xml расположение для свойства Maven, которое используется в вашем подключаемом модуле surefire.

Это должно быть сделано.

Другой вариант - в основном построить реализациюorg.testng.IRetryAnalyzer и свяжит с @Test методом.Это приведет к тому, что TestNG попытается снова вызвать метод @Test, если он потерпит неудачу, до тех пор, пока реализация IRetryAnalyzer не вернет обратно false, указывающий TestNG больше не пытаться.

Вот пример

public class MyRetry implements IRetryAnalyzer {

  private int retryCount=0;
  private int maxRetryCount=1;

  @Override
  public boolean retry(ITestResult result) {
    if (retryCount < maxRetryCount) {
      retryCount++;
      return true;
    }
    return false;
  }
}

public class GitHub1241Sample {

  @Test(retryAnalyzer = MyRetry.class)
  public void test2() {
    Assert.fail();
  }
}

Если вы используете анализатор повторных попыток, вам не нужно создавать резервные копии отчетов и т. Д.,

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...