Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Можно ли передать инстанс от enum java коду через feature file?

bdd
cucumber
testng
Теги: #<Tag:0x00007fedc7afb970> #<Tag:0x00007fedc7afb830> #<Tag:0x00007fedc7afb6f0>

(Ayat Rakhishev) #1

У меня есть класс, который имеет несколько полей типа enum.
Вопрос: Могу ли я при передать определенное значение перечисления(enum) через feature file моему java коду, чтобы вызвать конструктор и проинициализировать значения?

class Contracts
public enum BeginingTypes { ClientIdentification, Usual }
public enum AlternativeTypes { POSITIVE, NEGATIVE, REJECT, NOALTERNATIVE }

public BeginingTypes startOption;
public AlternativeTypes alternativeOption;

public Contracts(BeginingTypes startOption, AlternativeTypes alternativeOption){
	this.startOption = startOption;
	this.alternativeOption = alternativeOption;
}

Что-то вроде этого?

@editClientInfoInClientManagement	
Структура сценария: Изменение данных клиента в системе
	Дано  BSL Вход в систему <parameter1> под логином:<parameter2>, паролем:"homerselect"	      	
Примеры:
	|parameter1                        ||parameter2                    |
	|                                  ||AlternativeTypes.NOALTERNATIVE|
	|BeginingTypes.ClientIdentification||                              |

(Максим Таран) #2

Если я ничего не путаю, то надо просто в аннотации указать соответствующий тип enum.


#3

Можно https://stackoverflow.com/a/34754411/2504101

Параметр будет просто ClientIdentification (кстати, по java code convention все буквы заглавные). А в step definition нужно указать, что тип аргумента BeginingTypes