Mocha: Async-Dokumentation

Erstellt am 24. Sept. 2013  ·  3Kommentare  ·  Quelle: mochajs/mocha

Ich habe jetzt ein paar Stunden mit dem Einrichten von asynchronen Tests verbracht und denke, dass die Dokumentation aktualisiert werden muss. Der folgende Code ist in der Dokumentation zu finden:

describe('#find()', function(){
    it('respond with matching records', function(done){
      db.find({ type: 'User' }, function(err, res){
        if (err) return done(err);
        res.should.have.length(3);
        done();
      })
    })
  })

Die Assertion hier führt zum Absturz von Mocha, da der AssertionError nicht abgefangen wird. Es sollte in eine try-catch-Anweisung eingeschlossen werden, es wäre gut, wenn die offizielle Dokumentation dies zeigt :)

Alle 3 Kommentare

Habe gerade das Beispiel mit den aktuellen mongodb, should und mocha getestet. Es funktioniert gut. Wenn Sie darauf bestehen, öffnen Sie dieses Thema erneut, geben Sie jedoch detaillierte Informationen zu Ihrem speziellen Fall an.

Ich sehe etwas Ähnliches - das Mokka-Timeout wird getroffen, da der AssertionError anscheinend von Mongo abgefangen wird: https://github.com/mongodb/node-mongodb-native/blob/V1.3.19/lib/mongodb /connection/base.js#L384

Stapelrahmen:
Base._callHandler(), base.js:384
Server.connect.connectionPool.on.server._serverState(), server.js:472
MongoReply.parseBody(), mongo_reply.js:68
Server.connect.connectionPool.on.server._serverState(), server.js:430

Es ist mir nicht gelungen, einen einfachen Testfall zu erstellen - sie haben alle ok funktioniert.

Ich habe jedoch eine Problemumgehung gefunden - wickeln Sie Ihre Behauptungen in ein process.nextTick() ein.
Ich habe ein Downgrade auf [email protected] durchgeführt und das hat ok funktioniert.

hmm mocha sollte diejenigen mit uncaughtException abfangen und sie dem richtigen Testfall zuordnen

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen