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

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

모종의 이유로 북마크가 등록되지 않습니다:

테스트 실패 후 실패 메시지가 표시되나요?

오류가 없습니다. 이것이 전체 출력입니다:

(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

그림들을 한번 살펴봤나요? 테스트 러너가 작동하지 않는 이유에 대한 단서가 될지 궁금합니다.

(우리 AI 봇이 아직 새 토픽을 열라고 재촉하지 않아서 좀 실망스럽기도 하네요 ;p)

수정 문제가 해결되었습니다…

테스트에 sleep을 넣고 SELENIUM_HEADLESS=0으로 rspec를 실행했습니다.
생성된 토픽들을 확인할 수는 있지만, 접근할 수는 없다는 사실을 발견했습니다.
이것이 북마크를 보이지 않는 이유를 설명해 줍니다!

즉시, TC에서 테스트를 만들거나 기존 테스트를 실행할 때마다 겪었던 문제가 떠올랐습니다: 범주가 정의되지 않은 fab 토픽이 있으면 테스트에서 해당 토픽에 접근할 수 없습니다.

따라서, 다음을 수행하면:

북마크를 볼 수 있습니다:

그리고 테스트가 작동합니다:
image

제 환경에서 이것이 왜 발생하는지는 명확하지 않습니다.
코어 테스트에는 범주가 지정되지 않은 fab 토픽이 많이 있지만, GitHub에서는 테스트가 정상적으로 작동합니다. 그 차이는 무엇일까요?