2012-11-18 45 views
0

我想寫黃瓜JVM的一些步驟和我有一個一步近似像 以下黃瓜,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

在某些時候,你需要有字符串,它是要設置類型之間的關係,因此,如果你不如果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)); 
}