«Тесты не найдены для данных включений» при использовании TestNG с Groovy - PullRequest
1 голос
/ 04 ноября 2019

Я пытаюсь использовать Test NG с Groovy. Я реализовал простой тестовый класс, но всякий раз, когда я пытаюсь его запустить, я получаю следующую ошибку:

No tests found for given includes: [tests.OTP.get]

Вот как выглядит класс tests.OTP:

class OTP{
    public static Logger log = LogManager.getLogger(HomePage.class.getName())
    String environment = 'qatesting'
    String number = '0769878787'
    @Test
    def get(){
//        SoapuiOTP s = new SoapuiOTP(environment,number)
//        s.getOTP()
        log.info("hello")
        Assert.assertEquals(0,System.getProperty("SOAPUI_OTP"))
        log.info System.getProperty('SOAPUI_OTP')
    }
}

Iиспользуйте кнопку воспроизведения (IntelliJ) рядом с def get(), чтобы запустить тест, но я получаю ту же ошибку на уровне класса. Пожалуйста, помогите, я пытался отключить кэш и перезапустить. Я посмотрел на TestNG Тестов не найдено. Ничего не было запущено и TestNG - тесты не были найдены , но это не помогло.

1 Ответ

1 голос
/ 04 ноября 2019

Вам необходимо заменить def на void в методе, аннотированном @Test. Как сказано в документации:

Методы испытаний помечены @Test. Методы, помеченные @Test, которые возвращают значение, будут игнорироваться, если только вы не установите для allow-return-values значение true в своем testng.xml:

<test allow-return-values="true">

Источник: https://testng.org/doc/documentation-main.html#test-methods

Тип возвращаемого значения def компилируется в Object, а не void, поэтому TestNG по умолчанию игнорирует этот метод.

Это неправильное представление не относится к TestNG и может быть выполненоа также в JUnit: Запуск Groovy-тестов с JUnit 5

...