Как я могу получить доступ к переменной внутри многошагового определения шага?

Возможно, немного поздно, но если вас не беспокоят дублирующие имена столбцов:

df.columns = df.columns.tolist()
0
задан Syed Zaidi 6 March 2019 в 21:16
поделиться

2 ответа

Вы используете одинарные или двойные кавычки? Двойные кавычки допускают интерполяцию, в то время как одинарные кавычки будут просто использовать содержимое без перевода каких-либо переменных. "#{policy_name}" должно работать, в то время как '#{any_variable}' не должно работать.

0
ответ дан Danilo Cabello 6 March 2019 в 21:16
поделиться

Не пишите такие шаги и не вкладывайте шаги, вы просто попадете в беспорядок. Также данные предназначены для настройки состояния, а не для выполнения каких-либо действий.

Если у вас есть сложный шаг, подобный этому, у вас есть два лучших варианта, чем вложенные шаги

  1. Разбейте шаг на более простые шаги
  2. Вытяните сложность из определений шагов и в вспомогательные методы

Наличие таких шагов, как «Когда я что-то щелкаю», является контрпродуктивным. Этот шаг все о том, КАК что-то сделано. Сценарии должны быть о том, что вы делаете, и почему это важно. Функции и сценарии предназначены не для программирования, а для описания поведения и должны быть очень простыми. Так что вы должны написать что-то вроде

Scenario: When I foo then the back button is disabled
  Given ...
  When I foo
  Then the back button should be disabled

, например, для моего банка будет

Scenario: Smile login disables back button
  Given I am logged into smile banking
  When I try and use the back button
  Then I should see the back button disabled warning

Наконец, каждое определение шага должно быть просто вызовом вспомогательного метода. например,

Given 'I am logged into smile banking' do
  # NOTE: both params are also helper methods
  login(site: smile_banking, user: create_user)
end

это позволяет вам перенести всю сложность из огурца в код. Код может справиться со сложностью, а огурец - нет.

0
ответ дан diabolist 6 March 2019 в 21:16
поделиться
Другие вопросы по тегам:

Похожие вопросы: