Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

Testing response from a call back failure.

Ouverte
#303 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

Évaluation

Difficulté
3/5
Temps estimé
1-2 jours
Accessibilité débutants
35/100
Type d'issue
Bug
Clarté
Plutôt claire
Activité
À l'abandon
Stack technique
javascript
Domaine
testing-qa

Piste de recherche

Commencez par le test stripReady montré et le cycle de vie des tests asynchrones de nodeunit, puis exécutez le test avec la configuration matérielle décrite dans l’issue. C’est terminé lorsque l’événement ready est observé et que son assertion est terminée avant que nodeunit ne se termine, le comportement étant reproductible ou expliqué.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

So I have some code that requires waiting for a call back and testing the response of it.

For some reason the callback never managed to get called. I've stepped through the code with the debugger but the nodeunit process finishes (with unfinished tests) before the callback can actually fire. I have no doubt I am doing something wrong but no idea what.

This is the test code I'm using:

exports["Strip - Firmata"] = {
      setUp: function(done){
          this.board = newBoard();
          done();
      },
      tearDown: function(done) {
          Board.purge();
          restore(this);
          done();
      },

      stripReady: function(test) {
          test.expect(1);

          var strip = new pixel.Strip({
              data: 6,
              length: 8,
              board: this.board,
              controller: "FIRMATA",
          });

          strip.on("ready", function() {
              console.log("strip ready");
              test.ok(true);
              test.done();
          });
      },
  }

For context: The stripReady test needs to test that a particular event is being emitted by the strip object once it's good to go (this is talking to some hardware behind the scenes). Down the line I'll want to test the appropriate error events as well.

When I trace this with the debugger, the strip constructor gets called, the handler gets bound but right at the moment the handler is bound nodeunit then exits.

As such it doesn't get a chance to drop into the ready handler shown above. I can trace to the point where it emits the message on the Strip side but that event handler never gets called.

So the question is how do I get nodeunit to hang around long enough to get the response back?

FYI the strip constructor is correct and it working properly with the hardware.

Langage dominant
JavaScript
Étoiles
1.9k
Forks
359
Métriques de merge des PR
Aucune PR mergée en 30 j

Préparer son environnement

Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de caolan/nodeunit

Toutes les issues de caolan/nodeunit

Issues similaires

Plus d'issues JavaScript

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.