Hilfe bei Fehler beim Finden von DiscourseRedis::Connector beim Ausführen von Tests erforderlich

Seit einigen Tagen erhalte ich beim lokalen Ausführen von Tests folgenden Fehler:

$ bundle exec rake autospec

...

Ein Fehler ist beim Laden von ./spec/components/discourse_redis_spec.rb aufgetreten.
Fehlermeldung:
    describe DiscourseRedis::Connector do
      let(:connector) { DiscourseRedis::Connector.new(config) }
  
      after do
        fallback_handler.master = true
      end
  
      it 'should return the master config when master is up' do
        expect(connector.resolve).to eq(config)
      end

NameError:
  nicht initialisierter Konstante DiscourseRedis::Connector
  Gemeint war möglicherweise: ConnectionPool

Mir ist nicht bewusst, was ich versehentlich geändert haben könnte, sodass mein System Tests nicht mehr ausführen kann. Redis läuft definitiv, also liegt es nicht daran, dass Redis nicht gestartet ist.

Dieser Fehler tritt sogar auf, wenn ich Tests auf einer sauberen Checkout-Version von tests-passed ausführe. Es muss also etwas mit meiner Umgebung zu tun haben, aber ich weiß nicht, wo ich zuerst suchen soll.

Haben Sie irgendwelche Vorschläge?

2 „Gefällt mir“

Es sieht so aus, als hätten wir versehentlich fehlerhafte Tests in den Code übernommen. Ich habe die fehlerhaften Tests in diesem Commit deaktiviert:

Es gibt jedoch zwei weitere Punkte, die wir angehen müssen:

  1. Die fehlerhaften Tests beheben.
  2. Sicherstellen, dass wir sie in Zukunft nicht erneut einchecken können.
2 „Gefällt mir“

Danke, dass du dir das angesehen hast! Sind die defekten Spezifikationen wegen intermittierender Probleme auf tests-passed gelandet?

Ich habe aktualisiert, und bei ac9577bcc7b69593bcdd204368d35492fc0cee15 sehe ich lokal immer noch exakt denselben Fehler. Also wahrscheinlich mehr als ein Problem. :confused:

Entschuldigung, mein Fehler. Ich habe vergessen, es zu pushen :facepalm: Ich habe den vorherigen Beitrag mit dem korrekten Commit aktualisiert.

Und ja, das bedeutet, dass fehlerhafte Tests in tests-passed gelandet sind. Zum Glück ist Discourse selbst in Ordnung – es sind die Tests, die aktualisiert werden müssen, nicht etwaige Fehler in unserer Anwendung. Trotzdem werden wir dafür sorgen, dass so etwas in Zukunft nicht mehr passiert.

3 „Gefällt mir“

Das kenne ich! Die Tests laufen jetzt problemlos.

Entschuldige, dass ich nicht früher danach gefragt habe. Ich weiß, dass ich außerhalb des Mainstream-Entwickler-Teams von Discourse stehe, da ich an Fedora und nicht an Ubuntu arbeite, daher neige ich dazu anzunehmen, dass es auf meinem Rechner eine umweltbedingte Besonderheit gibt, die einfach anders ist. Danke, dass du meine Testumgebung wieder zum Laufen gebracht hast!

1 „Gefällt mir“

Ich sehe, dass es Uneinigkeit darüber gibt, diese Tests aus dem Commit 25db91e35180b2707ca4a9f7ffd173823f86f18d zu deaktivieren, der dich zurückgesetzt hat.

Der Grund dafür ist jedoch nicht, dass das Problem anschließend behoben wurde, denn ich habe bei d775338d637d9ef3843acf227a138e8f11352151, also auf dem Master-Branch, getestet. Dort waren die Tests zum Zeitpunkt meines Pulls bestanden, doch das Problem ist wieder aufgetreten.

Zumindest habe ich es geschafft, meine Tests lokal zum Laufen zu bringen und herauszufinden, was ich anders machen muss, um die neuen Sicherheitsmechanismen zu handhaben, die ich in das Migrate-Skript eingebaut habe.

@tgxworld, wie ist der Plan zur Lösung des Konflikts? Ich vermute, ich kann vorübergehend b1114b9a20343525c805d7339bd64954965a12f9 cherry-picken, wenn ich in der Zwischenzeit testen muss?

1 „Gefällt mir“

Die Tests sollten entfernt werden, und ich habe es nicht bemerkt, weil unser CI einen Fehler hatte, bei dem es nicht fehlschlug, wenn ein Fehler auftrat. Dies wurde in

behoben.

3 „Gefällt mir“