Teniendo problemas para ejecutar pruebas en mi sistema WSL2

¿Te refieres a que ejecutar algo como esto falla localmente para ti?

~/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

¡Muchas gracias! He aprobado el PR y lo fusionaré en breve.

3 Me gusta

Sí,

Solo mi prueba funciona.
Probado en 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

No se registran marcadores por alguna razón:

1 me gusta

¿Algún mensaje de error después de que fallen tus pruebas?

No hay error. Esta es la salida completa:

(base) arkshine@HOME:~/discourse$ rspec spec/system/user_activity_bookmarks_spec.rb
ADVERTENCIA: Especificaciones no resueltas o ambiguas durante Gem::Specification.reset:
      optimist (>= 3.0.0)
      Versiones disponibles/instaladas de esta gema:
      - 3.2.1
      - 3.2.0
      rdoc (>= 4.0.0)
      Versiones disponibles/instaladas de esta gema:
      - 6.12.0
      - 6.6.3.1
ADVERTENCIA: Limpiando especificaciones no resueltas. Intenta 'gem cleanup <gem>'
Por favor informa de un error si esto causa problemas.

Aleatorizado con semilla 5318
no se detectó OID 931304: falló al reconocer el tipo de 'embeddings'. Se tratará como String.
FFF.

Fallos:

  1) Los marcadores de actividad del usuario pueden filtrar la lista de marcadores
     Error/Fallo: super
     
     Capybara::ElementNotFound:
       No se puede encontrar el campo "bookmark-search" que no esté deshabilitado
     
     [Imagen de captura de pantalla]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_300.png

     ~~~~~~~ REGISTROS JS ~~~~~~~
     ~~~~~ FIN DE REGISTROS 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 niveles) en 4maine'

  2) Los marcadores de actividad del usuario pueden filtrar la lista de marcadores desde la URL
     Error/Fallo: se esperaba que `#0PageObjects::Pages::UserActivityBookmarks:0x00007f3d48e29f28e.has_topic?(#0Topic 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: nile)` fuera verdadero, pero fue falso
     
     [Imagen de captura de pantalla]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_from_the_url_846.png

     ~~~~~~~ REGISTROS JS ~~~~~~~
     ~~~~~ FIN DE REGISTROS JS ~~~~~~~
     
     # ./spec/system/user_activity_bookmarks_spec.rb:40:en `block (2 niveles) en 4maine'

  3) Los marcadores de actividad del usuario pueden limpiar la consulta
     Error/Fallo: No se puede encontrar el campo "bookmark-search" que no esté deshabilitado
     
     [Imagen de captura de pantalla]: /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_clear_the_query_761.png

     ~~~~~~~ REGISTROS JS ~~~~~~~
     ~~~~~ FIN DE REGISTROS 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 niveles) en 4maine'

Terminó en 21.11 segundos (los archivos tardaron 5.2 segundos en cargarse)
4 ejemplos, 3 fallos

Ejemplos fallidos:

rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # Los marcadores de actividad del usuario pueden filtrar la lista de marcadores
rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # Los marcadores de actividad del usuario pueden filtrar la lista de marcadores desde la URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # Los marcadores de actividad del usuario pueden limpiar la consulta

Semilla aleatoria 5318

¿Has intentado echar un vistazo rápido a las imágenes? Me pregunto si ofrecen alguna pista de por qué el ejecutor de pruebas no funciona.

(También me decepciona un poco que nuestro bot de IA no nos haya molestado para abrir un nuevo tema todavía ;p)

edición problema resuelto…

2 Me gusta

Puse un sleep en una prueba y comencé rspec con SELENIUM_HEADLESS=0.
Descubrí que puedo ver los temas creados, PERO no puedo acceder a ellos.
¡Eso explica por qué no veo los marcadores!

Inmediatamente, me recuerda a un problema que encontré cada vez que hacía pruebas en TC o ejecutaba pruebas existentes: si hay un tema fab sin una categoría definida, no puedo acceder a él en las pruebas.

Entonces, si hago lo siguiente:

Veo los marcadores:

Y las pruebas funcionan:
image

No está claro por qué sucede esto en mi entorno.
Hay muchos temas fab sin categorías especificadas en las pruebas principales, y las pruebas funcionan en GitHub. ¿Cuál es la diferencia?