Использование таблицы внутри динамических определений шагов - PullRequest
0 голосов
/ 11 июня 2018

У меня есть файл функций с шагом, подобным этому

When user login with credentials
|username|password|
|blahblah|blahblah|

Но затем я хочу использовать этот шаг в моих определениях динамических шагов.Является ли это возможным?Я пытался сделать что-то вроде этого

step 'user login with credentials
    |username|password|
    |blahblah|blahblah|'

или создать и передать хэш.Пока не могу заставить его работать.

1 Ответ

0 голосов
/ 11 июня 2018

https://github.com/cucumber/cucumber/wiki/Calling-Steps-from-Step-Definitions#calling-steps-with-multiline-step-arguments

Вызов шагов с многострочными аргументами шага

Иногда требуется вызвать шаг, который был разработан для принятия многострочных аргументов шага, например:

# ruby
Given /^an expense report for (.*) with the following posts:$/ do |date, posts_table|
  # The posts_table variable is an instance of Cucumber::Ast::Table
end

Это можно легко вызвать из простого шага, например:

# feature
Given an expense report for Jan 2009 with the following posts:
  | account | description | amount |
  | INT-100 | Taxi        |    114 |
  | CUC-101 | Peeler      |     22 |

Но что, если вы хотите вызвать это из определения шага?Есть несколько способов сделать это:

# ruby
Given /A simple expense report/ do
  step "an expense report for Jan 2009 with the following posts:", table(%{
    | account | description | amount |
    | INT-100 | Taxi        |    114 |
    | CUC-101 | Peeler      |     22 |
  })
end

Или, если вы предпочитаете более программный подход:

# ruby
Given /A simple expense report/ do
  step "an expense report for Jan 2009 with the following posts:", table([
    %w{ account description amount },
    %w{ INT-100 Taxi        114    },
    %w{ CUC-101 Peeler      22     }
  ])
end
...