Testng: ITestListener - Добавить нереализованные методы, отсутствующие в eclipse для

Созданный на 27 нояб. 2018  ·  8Комментарии  ·  Источник: cbeust/testng

Версия TestNG - 7.0.0-beta1

Примечание: поддерживается только последняя версия

Ожидаемое поведение

Когда ITestListener или любой другой слушатель будет реализован, eclipse должен показать опцию добавления нереализованных методов, при нажатии на опцию все методы интерфейса должны включать класс

Фактическое поведение

Это не работает, как ожидалось
screenshot

Может ли проблема воспроизводиться на раннере?

  • [x] Maven
  • [x] Затмение

Образец тестового случая

пакет com.freecrm.ExtentReportListener;
import org.testng.ITestListener;
открытый класс MyListener реализует ITestListener {
image

}

Самый полезный комментарий

@ sen1983 - TestNG 7.0.0 использует JDK8 и методы по умолчанию в интерфейсах. Это означает, что каждый слушатель теперь будет иметь реализацию по умолчанию (которая ничего не делает) для всех методов, определенных в интерфейсе.

Так что теперь вы не увидите этих указаний в среде IDE. Самым большим преимуществом методов по умолчанию в интерфейсах является то, что, допустим, вы реализуете интерфейс, в котором определены 10 методов, вы можете просто реализовать все, что вам нужно, а остальная часть поведения реализуется через методы по умолчанию в интерфейсе.

Все 8 Комментарий

@ sen1983 - TestNG 7.0.0 использует JDK8 и методы по умолчанию в интерфейсах. Это означает, что каждый слушатель теперь будет иметь реализацию по умолчанию (которая ничего не делает) для всех методов, определенных в интерфейсе.

Так что теперь вы не увидите этих указаний в среде IDE. Самым большим преимуществом методов по умолчанию в интерфейсах является то, что, допустим, вы реализуете интерфейс, в котором определены 10 методов, вы можете просто реализовать все, что вам нужно, а остальная часть поведения реализуется через методы по умолчанию в интерфейсе.

@krmahadevan - Спасибо за ответ, добавив к нему дополнительную информацию.

Если вы не можете добавить нереализованные методы, начните писать код, но не добавляйте «@override».

@sagaramritkar - Не уверен, что вы имеете в виду и что пытались объяснить. Не хотите еще раз объяснить?

@sagaramritkar Согласен с вашим утверждением, когда я добавляю метод по умолчанию

[default void onTestFailure (результат ITestResult) {
// не реализована
}]
с "@override" это дает мне ошибку с быстрым исправлением -> "Удалить аннотацию @Override "

@krmahadevan Пожалуйста, подтвердите

image

Эта проблема принадлежит TestNG 7.1.0. попробуй настроить TestNG 6.14.3. Выпуск воспроизводить не буду.

это проблема или изменение?

@ prernabhandari2427 - Не

Эта проблема принадлежит TestNG 7.1.0. попробуй настроить TestNG 6.14.3. Выпуск воспроизводить не буду.

Спасибо, это работает

Была ли эта страница полезной?
0 / 5 - 0 рейтинги