0

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);
}

それを多形にするために、そのようなステップを書くより良い方法はありますか?

4

1 に答える 1

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));
}
于 2013-05-13T19:22:48.780 に答える