La simulation, cliquez sur le document ReactJS/JSDom

Donc je suis en train d'écrire certains tests de code qui ajoute un événement de clic sur le document. Je suis à l'aide de JSDom, ReactJS, et de Moka/Chai de l'installation. J'ai essayé le code suivant dans un test:

document.addEventListener('click', function() {
  console.log('test');
});
React.addons.TestUtils.Simulate.click(document);
//also tried React.addons.TestUtils.Simulate.click(document.body);

toutefois, ce code ne produit pas l'écho que j'attends.

Est-il un moyen de simuler le clic, keyup, etc... sur le document avec JSDom et ReactJS?

Mise à JOUR

À Nick réponses, j'ai essayé d'ajouter ce code à l'épreuve:

document.body.addEventListener('click', function() {
  console.log('test');
});

document.body.click();

et je n'ai jusqu'à ne recevez pas le journal de la console de sortie. Je ne suis pas sûr si il ya un problème avec JSDom et de faire ce type de chose.

Si je ne peux pas l'unité de tester ce code, c'est très bien, il y a déjà un peu de code que je ne peux pas l'unité de test à l'heure actuelle (code qui nécessite une réelle DOM pour être en mesure d'obtenir les largeurs, hauteurs, etc...), mais je voudrais être en mesure de l'unité de test plus du code (et je ne suis pas intéressé à l'aide de PhantomJS pour les tests unitaires). Mes tests d'intégration permettra de couvrir ce type de code.

UPDATE2

Une autre chose à noter est que est que quand je console.log(document); je vois objet attaché à la _listeners propriété pour click donc je sais que l'événement est attachée, il a juste ne semble pas être en cours d'exécution.

  • Avez-vous essayé la même chose dans un navigateur? Fait-il?
  • Oui, le code dans le navigateur fonctionne très bien
InformationsquelleAutor ryanzec | 2014-12-18