Генерировать список объектов в тесте с помощью спока - PullRequest
2 голосов
/ 29 апреля 2019

Я пишу тест спока, в котором мне нужно сгенерировать некоторые тестовые данные (Fixtures).Я знаю, как это можно сделать в Java, но не смог реализовать его в споке (groovy).

Я новичок в groovy, поэтому я предоставляю свою реализацию Java

Javaреализация выглядит следующим образом:

List<Employee> employees= LongStream.range(1, 70).mapToObj(id -> {
        Employee emp = new Employee ();
        emp.setEmployeeId(id);
        return emp ;
    }).collect(Collectors.toList());

Я пытаюсь добиться того же, используя groovy, но не могу сделать это правильно.

def employees = [1..70].each { id ->
        def emp = new Employee()
        emp.setEmployeeId(id)
        employees << emp
    }

Оцените любую помощь по исправлению кода groovy ..

1 Ответ

6 голосов
/ 29 апреля 2019

[1..70] создает список с одним элементом, который является диапазоном. Вы хотите использовать что-то вроде (1..70):

(1..70).each{employees << new Employee(employeeId: it)}

Просто примечание: вы можете избежать добавления в список, просто создав его, используя collect:

List<Employee> employees = (1..70).collect{new Employee(employeeId: it)}
...