通常,人们会尝试尽可能简化步骤定义类,并将大部分业务逻辑卸载到对象模型中。作为一个经验法则,我们尝试将步骤定义类中的方法限制为绑定步骤定义方法。在步骤定义类中包含非步骤方法是否可以接受?
但是,在某些情况下,多个步骤定义使用类似的代码。一种方法是在相同的步骤定义类中以新方法提取此代码。例如:
[When(".....")]
public void WhenX() {
// Do custom logic
commonMethod():
}
[When(".....")]
public void WhenY() {
// Do custom logic
commonMethod():
}
public void commonMethod() {
// Common code
}
另一种方法是将此代码移到辅助类中。但是,由于只能在单个类中使用此代码,因此将其作用域绑定到相应的类可能更有意义。