واجهت مشاكل في تشغيل الاختبارات على نظام WSL2 الخاص بي

هل تقصد تشغيل شيء كهذا يفشل محليًا لديك؟

~/work/discourse [main] $ rspec spec/system/user_activity_bookmarks_spec.rb

Randomized with seed 38950
...

Finished in 7.71 seconds (files took 2.5 seconds to load)
3 examples, 0 failures

شكرًا جزيلاً لك! لقد وافقت على طلب السحب وسأقوم بدمجه قريبًا.

3 إعجابات

نعم،

اختباري فقط يعمل.
تم الاختبار على WSL2، أوبونتو 22.

(base) arkshine@HOME:~/discourse$ rspec spec/system/user_activity_bookmarks_spec.rb

Finished in 28.13 seconds (files took 4.64 seconds to load)
4 examples, 3 failures

Failed examples:

rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # User activity bookmarks can filter the list of bookmarks from the URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # User activity bookmarks can filter the list of bookmarks
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # User activity bookmarks can clear the query

لا توجد إشارات مرجعية مسجلة لبعض الأسباب:

إعجاب واحد (1)

هل هناك أي رسالة خطأ بعد فشل اختباراتك؟

لا يوجد خطأ. هذا هو الإخراج الكامل:

(base) arkshine@HOME:~/discourse$ rspec spec/system/user_activity_bookmarks_spec.rb
تحذير: لم يتم حل أو إرباك المواصفات أثناء إعادة تعيين Gem::Specification:
      optimist (= 3.0.0)
      الإصدارات المتوفرة/المثبتة من هذا الجيم:
      - 3.2.1
      - 3.2.0
      rdoc (= 4.0.0)
      الإصدارات المتوفرة/المثبتة من هذا الجيم:
      - 6.12.0
      - 6.6.3.1
تحذير: مسح المواصفات غير المحلولة. جرب 'gem cleanup <gem'
يرجى الإبلاغ عن مشكلة إذا تسببت في مشاكل.

تم التوليد عشوائيًا باستخدام البذرة 5318
OID غير معروف 931304: فشل التعرف على نوع 'embeddings'. سيتم التعامل معه كنص.
FFF.

الفشل:

  1) يمكن لعلامة نشاط المستخدم تصفية قائمة الإشارات المرجعية
     الفشل/الخطأ: super
     
     Unable to find field "bookmark-search" that is not disabled
     
     [لقطة شاشة الصورة]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_300.png

     ~~~~~~~ سجلات JS ~~~~~~~
     ~~~~~ نهاية سجلات JS ~~~~~~~
     
     # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:29:in `fill_in_search'
     # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
     # ./spec/system/user_activity_bookmarks_spec.rb:44:in `block (2 levels) in main'

  2) يمكن لعلامة نشاط المستخدم تصفية قائمة الإشارات المرجعية من URL
     الفشل/الخطأ: expect(user_activity_bookmarks).to have_topic(bookmark_1.bookmarkable.topic)
       expected `#PageObjects::Pages::UserActivityBookmarks:0x00007f3d48e29f28.has_topic?(#Topic id: 917, title: "This is a test topic 0", last_posted_at: nil, created_at: "2025-03-21 02:48:...oad_id: nil, slow_mode_seconds: 0, bannered_until: nil, external_id: nil, visibility_reason_id: nil)` to be truthy, got false
     
     [لقطة شاشة الصورة]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_from_the_url_846.png

     ~~~~~~~ سجلات JS ~~~~~~~
     ~~~~~ نهاية سجلات JS ~~~~~~~
     
     # ./spec/system/user_activity_bookmarks_spec.rb:40:in `block (2) in main'

  3) يمكن لعلامة نشاط المستخدم مسح الاستعلام
     الفشل/الخطأ: super
     
     Unable to find field "bookmark-search" that is not disabled
     
     [لقطة شاشة الصورة]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_clear_the_query_761.png

     ~~~~~~~ سجلات JS ~~~~~~~
     ~~~~~ نهاية سجلات JS ~~~~~~~
     
     # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:29:in `fill_in_search'
     # ./spec/system/page_objects/pages/user_activity_bookmarks.rb:14:in `search_for'
     # ./spec/system/user_activity_bookmarks_spec.rb:51:in `block (2) in main'

أنهى في 21.11 ثانية (استغرقت الملفات 5.2 ثواني للتحميل)
4 أمثلة، 3 فشلات

الأمثلة الفاشلة:

rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # يمكن لعلامة نشاط المستخدم تصفية قائمة الإشارات المرجعية
rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # يمكن لعلامة نشاط المستخدم تصفية قائمة الإشارات المرجعية من URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # يمكن لعلامة نشاط المستخدم مسح الاستعلام

تم التوليد عشوائيًا باستخدام البذرة 5318

هل حاولت إلقاء نظرة سريعة على الصور، أتساءل عما إذا كانت تقدم دليلًا على سبب عدم عمل مشغل الاختبار.

(خيبة أمل أيضًا لأن روبوت الذكاء الاصطناعي الخاص بنا لم يزعجنا لفتح موضوع جديد بعد ؛ ص)

تعديل تم حل المشكلة…

إعجابَين (2)

لقد وضعت sleep في اختبار وبدأت rspec مع SELENIUM_HEADLESS=0.
وجدت أنه يمكنني رؤية المواضيع التي تم إنشاؤها، ولكن لا يمكنني الوصول إليها.
هذا يفسر لماذا لا أرى الإشارات المرجعية!

فورًا، يذكرني ذلك بمشكلة واجهتها في كل مرة أجريت فيها اختبارات في TC أو شغلت اختبارات موجودة: إذا كان هناك موضوع رائع بدون فئة محددة، فلا يمكنني الوصول إليه في الاختبارات.

لذلك، إذا قمت بما يلي:

أرى الإشارات المرجعية:

والاختبارات تعمل:
image

من غير الواضح سبب حدوث ذلك في بيئتي.
هناك الكثير من المواضيع الرائعة بدون فئات محددة في الاختبارات الأساسية، والاختبارات تعمل على GitHub. ما هو الاختلاف؟