ฉันต้องการใช้ขั้นตอนบางอย่างของแตงกวาซ้ำ แต่ดูเหมือนจะหาวิธีที่ถูกต้องไม่ได้
ฉันต้องการเขียนขั้นตอนดังนี้:
Given /^I login with (.*) credentials$/ |type|
# do stuff with type being one of "invalid" or "valid"
end
แต่มีขั้นตอนอื่นเช่น:
Given /^I login successfully$
# call "Given I login with valid credentials"
end
ดังนั้นในการทดสอบการพิสูจน์ตัวตนผู้ใช้ฉันสามารถใช้แบบเดิมได้ แต่ที่อื่น ๆ ส่วนใหญ่ฉันสามารถใช้แบบหลังได้และไม่จำเป็นต้องทำรหัสซ้ำ
มีวิธีเรียกขั้นตอนอื่นหรือไม่หรือฉันแค่ใส่ตรรกะในวิธีการช่วยเหลือและเรียกวิธีการดังกล่าวจากแต่ละงาน (โดยทั่วไปคือการแยกวิธีการ refactoring ซึ่งหลังจากอ่านคำถามของฉันทำให้ฉันเชื่อว่านั่นเป็นวิธีที่ดีที่สุดจริงๆ อย่างไรก็ตาม)?
do
จำเป็นต้องเริ่มdo...end
บล็อกในคำจำกัดความขั้นตอน Ruby ในความเป็นจริงจำเป็น