2015-02-05 3 views
4

Я хочу создать настраиваемый трансформатор данных в огурце. Так выглядит моя функция:Пользовательский трансформатор datatable для огурца-jvm

Given board 
| o | _ | _ | 
| o | _ | _ | 
| o | _ | _ | 

И я хочу поместить его в пользовательский объект. Допустим, что это выглядит следующим образом:

class Board { 

    private List<List<String>> board; 

    public Board(List<List<String>> board) { 
     this.board = board; 
    } 

} 

Мое определение шаг должен выглядеть следующим образом:

@Given("^board$") 
public void board(Board board) throws Throwable { 
    // todo 
} 

определения стадии прекрасно работает для DataTable класса и List<List<String>>

@Given("^board$") 
public void board(DataTable board) throws Throwable { 
    // this works fine 
} 

И это также работает тонну

@Given("^board$") 
public void board(List<List<String>> board) throws Throwable { 
    // this also works fine 
} 

Я попытался найти решение в Интернете, но безуспешно. Я также пытался создать Transformer, но, как я вижу, он отлично работает только для строк (я хочу использовать Datatable или список> на входе):

class BoardTransformer extends Transformer<Board> { 

    @Override 
    public Board transform(String value) { 
     // TODO Auto-generated method stub 
     return null; 
    } 

} 
+0

Какой у вас вариант с огурцом-JVM? – nilesh

+0

Я использую версию 1.2.2. – pepuch

+0

Любые удачи в поиске решения? – Muxa

ответ

0

Если вы можете пойти с

@Given("^board$") 
public void board(List<List<String>> board) throws Throwable { 
... 

Почему вы не просто создать объект совета сразу после

Board board2 = new Board(board); 

Это doen't выглядеть вам нужен трансформатор.

Смежные вопросы