我正在尝试在Cucumber-jvm中编写一些步骤,我有一个近似的步骤 以下内容:
@Given("I am a (regular|admin|guest) user")
public void setUser(String userType){
if("regular".equals(userType))
setUserType(REGULAR);
if("admin".equals(userType))
setUserType(ADMIN);
if("guest".equals(userType))
setUserType(GUEST);
}
有没有更好的方法来编写这样的步骤,使其具有多态性?
答案 0 :(得分:0)
在某些时候,你需要在字符串和它要设置的类型之间建立关系,所以如果你不想要像这样的大型if statmenet,那么设置一个地图可能就好了
这样的事情怎么样......
public static Map<String,UserType> types = new HashMap<String,UserType>();
static {
types.put("regular", REGULAR);
types.put("admin", ADMIN);
types.put("guest", GUEST);
}
然后
@Given("I am a (regular|admin|guest) user")
public void setUser(String userType){
setUserType(types.get(userType));
}