2015-03-07 2 views
3

Как использовать силу varargs при определении определений шага в привязках java огурца. У меня есть ниже шагаподдержка огурца jvm varargs в определении шага

Given I have following product: prod1, prod2, prod3 

Мое определение Шаг

@Given("^I have following product [(exhaustive list of products or pattern of the product names)]$") 
public void stepDef(String...args) 
{ 
//Process varargs array "args" in here 
} 

Я знаю, что обходной путь может быть, за исключением полной строки после двоеточия, а затем в коде разбить строку, используя раскол («») и свалка это в массив. Но я просто хочу знать, поддерживает ли огурец собственный шаблон varargs.

TIA !!!

ответ

8

Я не знаю, поддерживаются ли varargs в огурце, но, может быть, вы можете архивировать свою цель с помощью прямых совпадений?

Вы можете определить Пример списков в Feature файлов в Огурец

Вы можете определить их в конце шага:

@Given i want a list 
|Entry1| 
|Entry2| 

Или рядный:

@Given i want a list: Entry1, Entry2 

Тогда вы можете имеют код клея как:

@Given(^i want a list$) 
public void i_want_a_list(List<String> entries) { 
//do stuff 
} 

@Given(^i want a list: (.*)$) 
public void i_want_a_list(List<String> entries){ 
//Do something with the list 
} 

вы можете найти больше информации здесь: https://cukes.info/docs/reference/jvm#step-definitions

+0

thnx..but Я хотел знать, поддерживается ли varags .. я уже изучил другие альтернативы –

+0

, похоже, пока это невозможно, но я не знаю, в каком более эффективные, чем коллекции? – Dude