Проблемы с запуском тестов в системе 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

Огромное спасибо! Я одобрил PR и скоро его объединю.

Да,

Работает только мой тест.
Протестировано на WSL2, Ubuntu 22.

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

Завершено за 28,13 секунды (загрузка файлов заняла 4,64 секунды)
4 примера, 3 неудачи

Неудачные примеры:

rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # Закладки активности пользователя могут фильтровать список закладок из URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # Закладки активности пользователя могут фильтровать список закладок
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # Закладки активности пользователя могут очистить запрос

По какой-то причине закладки не зарегистрированы:

Есть ли сообщение об ошибке после того, как тесты не прошли?

Ошибки нет. Вот полный вывод:

(base) arkshine@HOME:~/discourse$ rspec spec/system/user_activity_bookmarks_spec.rb
WARN: Unresolved or ambiguous specs during Gem::Specification.reset:
      optimist (>= 3.0.0)
      Available/installed versions of this gem:
      - 3.2.1
      - 3.2.0
      rdoc (>= 4.0.0)
      Available/installed versions of this gem:
      - 6.12.0
      - 6.6.3.1
WARN: Clearing out unresolved specs. Try 'gem cleanup <gem>'
Please report a bug if this causes problems.

Randomized with seed 5318
unknown OID 931304: failed to recognize type of 'embeddings'. It will be treated as String.
FFF.

Failures:

  1) User activity bookmarks can filter the list of bookmarks
     Failure/Error: super
     
     Capybara::ElementNotFound:
       Unable to find field "bookmark-search" that is not disabled
     
     [Screenshot Image]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_300.png

     ~~~~~~~ JS LOGS ~~~~~~~
     ~~~~~ END JS LOGS ~~~~~
     
     # ./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) User activity bookmarks can filter the list of bookmarks from the URL
     Failure/Error: 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
     
     [Screenshot Image]: /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 LOGS ~~~~~~~
     ~~~~~ END JS LOGS ~~~~~
     
     # ./spec/system/user_activity_bookmarks_spec.rb:40:in `block (2 levels) in <main>'

  3) User activity bookmarks can clear the query
     Failure/Error: super
     
     Capybara::ElementNotFound:
       Unable to find field "bookmark-search" that is not disabled
     
     [Screenshot Image]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_clear_the_query_761.png

     ~~~~~~~ JS LOGS ~~~~~~~
     ~~~~~ END JS LOGS ~~~~~
     
     # ./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 levels) in <main>'

Finished in 21.11 seconds (files took 5.2 seconds to load)
4 examples, 3 failures

Failed examples:

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:36 # User activity bookmarks can filter the list of bookmarks from the URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # User activity bookmarks can clear the query

Randomized with seed 5318

Вы пробовали быстро взглянуть на снимки? Мне интересно, не содержат ли они подсказки, почему не работает тестовый раннер.

(Кстати, немного разочарован, что наш ИИ-бот ещё не напомнил нам создать новую тему ;p)

редактирование проблема решена…

Я добавил sleep в тест и запустил rspec с параметром SELENIUM_HEADLESS=0.
Я обнаружил, что могу видеть созданные темы, НО не могу к ним получить доступ.
Это объясняет, почему я не вижу закладки!

Это сразу напоминает мне о проблеме, с которой я сталкивался каждый раз, когда писал тесты в TC или запускал существующие тесты: если есть тема, созданная через fab, без указанной категории, я не могу получить к ней доступ в тестах.

Так что, если я сделаю следующее:

Я вижу закладки:

И тесты работают:
image

Неясно, почему это происходит в моей среде.
В основных тестах много тем, созданных через fab, без указанных категорий, и они работают на GitHub. В чём разница?