使用 spock 生成测试中的对象列表
Genarate list of objects in test using spock
我正在编写一个 spock 测试,其中我需要生成一些测试数据(夹具)。我知道如何在 Java 中完成,但未能在 spock(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..70]
创建一个列表,其中一个元素是一个范围。你想使用类似 (1..70)
:
(1..70).each{employees << new Employee(employeeId: it)}
附带说明:您可以通过使用 collect
:
创建一个列表来避免追加到列表中
List<Employee> employees = (1..70).collect{new Employee(employeeId: it)}
我正在编写一个 spock 测试,其中我需要生成一些测试数据(夹具)。我知道如何在 Java 中完成,但未能在 spock(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..70]
创建一个列表,其中一个元素是一个范围。你想使用类似 (1..70)
:
(1..70).each{employees << new Employee(employeeId: it)}
附带说明:您可以通过使用 collect
:
List<Employee> employees = (1..70).collect{new Employee(employeeId: it)}