Это ситуация, когда вы должны обращаться с тестовым кодом точно так же, как с рабочим кодом, и инкапсулировать его в класс.Затем вы можете легко использовать его везде, где вам это нужно.
Для иллюстрации:
class TestCategory
def create(values)
follow_new_category
fill_in_name
press_add
end
def follow_new_category
end
def fill_in_name
end
def press_add
end
end
Затем вы можете вызывать эти методы из своих шагов:* (Возможно, вы захотите управлять жизненным циклом класса TestCategory другим способом, а не создавать новый каждый раз ...)
Тем не менее, ваши шаги достаточно обязательны, что не считается хорошей практикой.Было бы лучше, если бы он сказал что-то вроде этого:
Scenario: Create a Test Category
Given I am on the regression test test cases page
When I add a test category
Then I should see "Test Category" within ".test-categories-list"
Тогда вам не нужно разбивать код поддержки на множество мельчайших методов.