Problèmes lors de l'exécution des tests sur mon système WSL2

Voulez-vous dire que l’exécution de quelque chose comme ceci échoue localement pour vous ?

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

Merci beaucoup ! J’ai approuvé la PR et je vais la fusionner sous peu.

3 « J'aime »

Oui,

Seul mon test fonctionne.
Testé sur 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

Aucun signet n’est enregistré pour certaines raisons :

1 « J'aime »

Un message d’échec après l’échec de vos tests ?

Pas d’erreur. Voici toute la sortie :

(base) arkshine@HOME:~/discourse$ rspec spec/system/user_activity_bookmarks_spec.rb
WARN: Spécifications non résolues ou ambiguës lors de Gem::Specification.reset:
      optimist (= 3.0.0)
      Versions disponibles/installées de cette gem :
      - 3.2.1
      - 3.2.0
      rdoc (= 4.0.0)
      Versions disponibles/installées de cette gem :
      - 6.12.0
      - 6.6.3.1
WARN: Nettoyage des spécifications non résolues. Essayez 'gem cleanup <gem>
Veuillez signaler un bug si cela cause des problèmes.

Randomisé avec la graine 5318
OID inconnu 931304 : échec de la reconnaissance du type de 'embeddings'. Il sera traité comme une chaîne.
FFF.

Échecs :

  1) Les favoris d'activité utilisateur peuvent filtrer la liste des favoris
     Échec / erreur : super
     
     Capybara::ElementNotFound :
       Impossible de trouver le champ "bookmark-search" qui n'est pas désactivé
     
     [Capture d'écran] : /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_300.png

     ~~~~~~~ LOGS JS ~~~~~~~
     ~~~~~ FIN DES LOGS 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 niveaux) dans cmaine'

  2) Les favoris d'activité utilisateur peuvent filtrer la liste des favoris via l'URL
     Échec / erreur : expect(user_activity_bookmarks).to have_topic(bookmark_1.bookmarkable.topic)
       attendu `#<PageObjects::Pages::UserActivityBookmarks:0x00007f3d48e29f28>.has_topic?(#<Topic id: 917, title: "Ceci est un sujet de test 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>)` vrai, mais obtenu faux
     
     [Capture d'écran] : /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_filter_the_list_of_bookmarks_from_the_url_846.png

     ~~~~~~~ LOGS JS ~~~~~~~
     ~~~~~ FIN DES LOGS JS ~~~~~~~
     
     # ./spec/system/user_activity_bookmarks_spec.rb:40:in `block (2 niveaux) dans cmaine'

  3) Les favoris d'activité utilisateur peuvent effacer la requête
     Échec / erreur : super
     
     Capybara::ElementNotFound :
       Impossible de trouver le champ "bookmark-search" qui n'est pas désactivé
     
     [Capture d'écran] : /home/arkshine/discourse/tmp/capybara/failures_r_spec_example_groups_user_activity_bookmarks_can_clear_the_query_761.png

     ~~~~~~~ LOGS JS ~~~~~~~
     ~~~~~ FIN DES LOGS 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 niveaux) dans cmaine'

Terminé en 21.11 secondes (les fichiers ont pris 5.2 secondes pour charger)
4 exemples, 3 échecs

Exemples échoués :

rspec ./spec/system/user_activity_bookmarks_spec.rb:43 # Les favoris d'activité utilisateur peuvent filtrer la liste des favoris
rspec ./spec/system/user_activity_bookmarks_spec.rb:36 # Les favoris d'activité utilisateur peuvent filtrer la liste des favoris via l'URL
rspec ./spec/system/user_activity_bookmarks_spec.rb:50 # Les favoris d'activité utilisateur peuvent effacer la requête

Graine aléatoire 5318

as-tu essayé de jeter un coup d’œil rapide aux images, je me demande si elles donnent un indice sur la raison pour laquelle le lanceur de tests ne fonctionne pas.

(je suis aussi un peu déçu que notre bot IA ne nous ait pas encore harcelés pour ouvrir un nouveau sujet ;p)

edit problème résolu…

2 « J'aime »

J’ai mis un sleep dans un test et j’ai lancé rspec avec SELENIUM_HEADLESS=0.
J’ai constaté que je peux voir les sujets créés, MAIS je ne peux pas y accéder.
Cela explique pourquoi je ne vois pas les signets !

Immédiatement, cela me rappelle un problème que j’ai rencontré à chaque fois que j’ai créé des tests dans TC ou exécuté des tests existants : s’il y a un sujet fab sans catégorie définie, je ne peux pas y accéder dans les tests.

Donc, si je fais ceci :

Je vois les signets :

Et les tests fonctionnent :
image

Il n’est pas clair pourquoi cela se produit dans mon environnement.
Il y a beaucoup de sujets fab sans catégories spécifiées dans les tests de base, et les tests fonctionnent sur GitHub. Quelle est la différence ?