How to nest step Definitions within another using Cucumber

Asked

Viewed 407 times

1

I would like you to help me solve this doubt, I’m trying to reference a step definition inside another in the same file to avoid repeating 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 of what I want. I’m still a beginner so any mistakes let me know.

1 answer

0


The example below serves to nest several Teps and repeat how many times you arrive 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 serves to use 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

Browser other questions tagged

You are not signed in. Login or sign up in order to post.