Как повторно использовать функцию огурца

У меня есть функция огурца под названием "A", расположенная в "C: \ cucumber tests"

Теперь я хочу создать еще одну функцию огурца, называемую "B".

Первая часть шагов функции «B» будет точно такой же, как и для функции «A». Я не хочу просто копировать все этапы функции "A" в функцию "B".

Есть ли способ вызвать функцию «A» в функции «B»?

Я ценю это.


person Bluesea    schedule 16.10.2015    source источник
comment
С cucumber-jvm вы можете использовать клеевой вариант. Взгляните на этот вопрос   -  person troig    schedule 19.10.2015


Ответы (2)


рубиновая версия:

Я не верю, что вы можете вызвать весь сценарий, но вы можете вызывать шаги из шага, используя метод steps.

Given /^(.*) is logged in$/ do |name|
  steps %Q{
    Given the user #{name} exists
    Given I log in as #{name}
  }
end

Это, по крайней мере, позволит вам повторно использовать ваши stepdef, но не сценарии. Для получения дополнительной информации см. Документы по огурцу

person Jeff Price    schedule 16.10.2015

Если вы хотите поместить функции в один файл, вы можете использовать фон для выполнения одних и тех же шагов для каждого из них.

Background: Login the user
  Given I have an admin account
  And we have a user named "john"
  And I am logged in

Scenario: Reset Password
  When I reset the users password
  Then the server sends an email to "john"

Scenario: Lock User
  When I lock the account for "john"
  Then "john" cannot log in
person Dave McNulla    schedule 22.10.2015