Как получить класс Runner внутри обработчика событий огурца - PullRequest
0 голосов
/ 24 мая 2019

Мне нужно определить пользовательские аннотации в классе бегунов огурцов. У меня есть класс обработчика событий, где я получаю обратный вызов, когда тестовый пример закончен / запущен и т. Д.

Проблема, с которой я сталкиваюсь, заключается в том, что я не могу получить класс runner внутри класса обработчика событий, и, следовательно, я не могу прочитать пользовательские аннотации, применяемые в классе runner.

Есть ли способ для этого в огурце.

Например. в junit я могу получить пользовательскую аннотацию, примененную в тестовом классе: public void testFinished (Description description) {description.getTestClass ();} откуда я мог прочитать мою аннотацию.

в testng, itestContext.getTestClass (). GetRealClass ();.

Любая помощь будет принята с благодарностью.

Большое спасибо заранее.

Например. мне нужно прочитать аннотации здесь,

private EventHandler<TestCaseFinished> caseFinishedEventHandler = new EventHandler<TestCaseFinished>() {
    @Override
    public void receive(TestCaseFinished event) {
     //Read annotations here...
    }
}; /*Or here*/ private EventHandler<TestRunFinished> runFinishedEventHandler = new EventHandler<TestRunFinished>() {
    @Override
    public void receive(TestRunFinished event) {

    }
};

1 Ответ

0 голосов
/ 28 мая 2019

Решил эту проблему:

  1. Для Junit: расширение класса огуречных бегунов. Аргумент class конструктора возвращает класс бегуна, в котором присутствуют пользовательские аннотации.

  2. Для TestNG: расширение AbstractTestNGCucumberTests в случае TestNG. this.getClass () возвращает класс бегуна, в котором присутствуют пользовательские аннотации.

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