通常,人們會嘗試儘可能簡化步驟定義類,並將大部分業務邏輯卸載到對象模型中。作爲一個經驗法則,我們嘗試將步驟定義類中的方法限制爲綁定步驟定義方法。在步驟定義類中包含非步驟方法是否可以接受?
但是,在某些情況下,多個步驟定義使用類似的代碼。一種方法是在相同的步驟定義類中以新方法提取此代碼。例如:
[When(".....")]
public void WhenX() {
// Do custom logic
commonMethod():
}
[When(".....")]
public void WhenY() {
// Do custom logic
commonMethod():
}
public void commonMethod() {
// Common code
}
另一種方法是將此代碼移到輔助類中。但是,由於只能在單個類中使用此代碼,因此將其作用域綁定到相應的類可能更有意義。