בזמן עבודה על אפליקציה חדשה וכתיבת טסטים נתקלתי בבעיה שלקח לי זמן למצוא לה פתרון, אז חשבתי להקל על קהל הקוראים שלי ולכתוב פוסט על הפתרון (כתבתי גם באנגלית – A soltion for the “I Follow” bug with cucumber and Capybara)
זה הסנריו שכתבתי בשביל לבדוק מחיקה של פרויקט מתוך דף הבית של החשבון:
Scenario: Deleting a project from the main page Given I am on the account home page When I follow "Delete Project" Then I should see "Your project has been deleted"
וזו השגיאה שהתקבלה בזמן ריצת הTest
# undefined local variable or method `node' for #<Capybara::Driver::Node tag="a" ... #
והנה גם צילום מסך שלה שיהיה ברור יותר
לאחר גירודי פדחת רבים וארוכים ובדיקה בכול הIssues הקיימים כמעט בRepository מצאתי לכך פתרון.
בקובץ env.rb ישנה שורה שצריך לעשות לה comment out, פשוט לסמן אותה בהערה ולהריץ את הטסט שוב, זה פתר לי את הבעיה
require 'cucumber/rails/capybara_javascript_emulation' # Lets you click links with onclick javascript handlers without using @culerity or @javascript
מקווה שאתם תשרפו פחות זמן ממני בזכות הפוסט הזה.