Dredd: Ruby-hooks: выполнить тот же хук для нескольких запросов - PullRequest
0 голосов
/ 20 декабря 2018

Проблема, с которой я сталкиваюсь:

У меня есть запрос, и мне нужно проверить 3 типа ответов на этот запрос.Каждый раз, когда мне нужно немного изменить тело запроса перед его отправкой.

dredd --names:
info: Users > User Operations > Update User > Example 1
skip: PUT (204) myurl/users/userid-123
info: Users > User Operations > Update User > Example 2
skip: PUT (422) myurl/users/userid-123
info: Users > User Operations > Update User > Example 3
skip: PUT (429) myurl/users/userid-123

Моя идея была в хуке before, сделать что-то вроде "cucumber-style":

before(/^Users > User Operations > Update User > Example (1|2|3)$/) do |myvar|
  Here run loop from 1 to 3 and do necessary changes

Но послев нескольких испытаниях это не сработало, похоже, что ruby-hooks не поддерживает переменные в именах.

Любые идеи о том, какой подход будет подходящим для этого случая, поскольку для каждого из них предусмотрены отдельные пред-ловушкизапрос не кажется прямо здесь?

1 Ответ

0 голосов
/ 25 марта 2019

Я не думаю, что хуки Ruby поддерживают регулярные выражения в именах транзакций.Простой обходной путь - перехватить все и различить транзакции в самом хуке:

before_each do |transaction|
  if transaction.name.match(/Example (1|2|3)$/)
    ...
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...