spockメモ
コード
@Data
@AllArgsConstructor
public class Person {
private String name;
private String nickName;
private Sex Sex;
}
public class PersonFactory {
public static Person get(String name) {
switch (name) {
case "nagasawa":
return new Person("nagasawa", "sparrow", Sex.MALE);
case "misawa":
return new Person("misawa", "sparrow", Sex.MALE);
case "naruse":
return new Person("naruse", "head", Sex.FAMALE);
default:
return new Person("NONE", "NONE", Sex.MALE);
}
}
}
public enum Sex {
MALE, FAMALE
}
テストコード
class PersonFactoryTest extends spock.lang.Specification {
@Unroll
def "#nameの時はあだ名が#expectedになる"() {
expect:
PersonFactory.get(name).nickName == expected
where:
name | expected
"misawa" | "sparrow"
"nagasawa" | "jonny"
"naruse" | "head"
}
}