How to nest step definitions inside another using Cucumber

1

I would like you to help me resolve this, I am trying to reference a step definition within another in the same file to avoid repetition of code, of course if this is possible.

Example

Dado /^escolho a letra (.*) $/ do |letter|
# algum codigo aqui
end

Dado /^entro com a letra (.*) (.*) vezes$/ do |letter, number|
# repito aqui o step anterior usando 'number.times do' ou algo parecido do
# step anterior
end 

This is just a simple example to pass an iia of what I want. I'm still a beginner so any mistake let me know.

    
asked by anonymous 26.04.2016 / 02:59

1 answer

0

The example below serves to nest multiple steps and repeat as many times as possible via parameter.

Dado /^escolho a letra (.*) $/ do |letter|
  @page.do_someting letter
end

Dado /^entro com a letra (.*) (.*) vezes$/ do |letter, number|
  #fiz a conversão pq ele vai chegar como string
 number.to_i.times do
    steps % (
    E escolho a letra \"#{letter}"\
    E escolho a cor \"(.*)"\
      ) 
   end
end

The example below is for using only one step

Dado /^escolho a letra (.*) $/ do |letter|
  @page.do_someting letter
end

Dado /^entro com a letra (.*) (.*) vezes$/ do |letter, number|
  number.to_i.times do
    step "E escolho a letra \"#{letter}"\"
  end
end
    
26.04.2016 / 03:30