Метод @AfterTest в TestNG принимает возвращаемый тип,для чего здесь используется тип reutrn

#java #testng

Вопрос:

@Afeter Метод тестирования в testNG can способен возвращать объект, поэтому здесь, если @AfterTest метод возвращает что-то, как мы можем поймать этот возвращаемый объект, для получения дополнительной информации, пожалуйста, обратитесь к приведенному ниже коду

       @AfterTest
      public String afterTest(){
        return "After test method get executed";
        }
 

Как пользователь может поймать возвращаемый объект, который возвращается методом @AfterTest, если мы не можем поймать возвращаемый объект, то какой смысл возвращать что-то

Ответ №1:

@AfterTest метод возвращает что-то, как мы можем поймать этот возвращаемый объект

Давайте рассмотрим приведенный ниже пример, чтобы понять эту вещь,

Код:

     public class ClassTestNG {

    int test;

    @Test
    public void firstTest() {
        System.out.println("test value in first test: "   test);
    }

    @Test
    public void secondTest() {
        int newValue = increaseValue();
        System.out.println("test vale in second test: "   newValue);
    }

    @AfterTest
    public int increaseValue() {
        int c = test   3;
        return c;
    }
}
 

Выход:

 test value in first test: 0
test value in second test: 3
 
  • Я хочу вызвать increaseValue метод после всех моих тестов, а также я хочу повторно использовать один и тот же метод везде, где это требуется. Поэтому я пометил метод под @AfterTest тегом и назвал его внутри secondTest
  • В режиме реального времени, если есть какой-либо фрагмент кода, который необходимо выполнить после всех ваших тестов и должен вернуть результат для дальнейшего выполнения, вы можете использовать это следующим образом.

Комментарии:

1. Спасибо за ответ, Для инициализации или увеличения значения int нет необходимости возвращать,мы можем просто сказать test , система может инициализировать переменную теста, и мы можем использовать переменную теста со значением инициализации

2. Цель примера-рассказать, как использовать метод возврата в AfterTest теге. Я говорю это не с целью увеличения. Допустим, существует метод возвращаемого типа, и вы хотите выполнить его с помощью AfterTest тега и того же метода, который вы можете вызвать везде, где это необходимо для повторного использования.

3. Обновил ответ. Пожалуйста, дайте мне знать, если это поможет.

4. Спасибо за ответ и извините за задержку, я понимаю, почему мы используем тип возврата в testng

Ответ №2:

Если вы хотите выполнить какую-либо операцию после выполнения теста, пожалуйста, используйте прослушиватель TestNG вместо этого типа возвращаемого значения.

ITestListener имеет следующие методы для использования,

  1. На старте
  2. onTestSuccess
  3. onTestFailure
  4. Онтестскипированный
  5. onTestFailedButWithinSuccessPercentage
  6. Онфиниш

Нет способа получить возвращаемую строку.

Комментарии:

1. Спасибо за ответ, здесь я хочу знать, в чем заключается использование возвращаемого типа