В Cucumber вы определяете шаги, которые определяют ваш синтаксис BDD;например, ваш тест может иметь:
When I navigate to step 3
, а затем вы можете определить шаг:
When /^I navigate to step (\d+)$/ do |step_number|
# navigate to step ${step_number}
end
Теперь все вышеперечисленное прекрасно работает как есть (или, по крайней мере, ядумаю, что это так).Однако вы также можете сделать это вместо этого:
When I navigate to step "3"
с регулярным выражением:
When /^I navigate to step "(\d+)"$/ do |step_number|
В «Книге RSpec: разработка на основе поведения с Rspec, Cucmber и Friends»,Автор Дэвид Челимский пишет: «Есть два общих стиля для шагов ... Обсудите плюсы и минусы с вашей командой».В моей команде несколько человек уже начали использовать кавычки, но это делает вызов шагов вручную более неуклюжим, потому что вы должны избегать кавычек в именах шагов шага (когда сами эти имена шагов заключены в кавычки).Тем не менее, наличие кавычек делает более ясным, где переменные находятся в тексте огурца.
Итак, что меня интересует, так это: существует ли какой-то консенсус сообщества относительно того, какой здесь «правильный» стиль?Или не хватает этого ...
- Кто-нибудь когда-либо делал сравнение выгод между двумя стилями?
- Кто-нибудь широко использовал оба стиля?
ИдеальноЯ хотел бы узнать как можно больше до мы напишем миллион тестов с "неправильным" стилем; -)