Je travaille sur un projet avec le bootcamp du cours Front End Web Development et malheureusement notre professeur ne peut pas répondre à ma question.
J'ai un jeu de cartes de guerre simple qui prend deux joueurs et y joue pendant 26 tours pour voir qui gagne. Dans ce jeu j'ai 4 classes comme suit
Ceux-ci sont configurés sous forme de modules afin qu'ils puissent être exportés puis importés dans tous les fichiers JS correspondants qui nécessitent leur exécution.
J'ai alors un ensemble de fichiers de tests unitaires qui vont ensuite essayer d'utiliser chaque fichier correspondant puis générer des tests.html pour les tests
Cela accédera à chaque fichier js de test unitaire correspondant, puis l'exécutera via la méthode décrite. Cependant, ils n'exécutent pas réellement la fonction "it" correspondante pour le test unitaire (cela est vérifié par la description et console.log() dans la fonction it. Lorsque j'essaie d'accéder à la console sur le navigateur Web, il Cela fonctionne également sans générer d'erreurs pour le débogage.
Le premier lien est vers la branche master que j'ai engagée en semaine 6, vous verrez que les tests fonctionnent quand je n'importe pas et aurez ensuite les classes correspondantes dans la description. https://github.com/jeffhennen/Projects/tree/master/Week6/Week6FinalJe souhaite qu'il utilise du code live dans les fichiers au lieu de tests unitaires, tout en gardant chaque fichier correspondant séparé, comme je l'ai fait dans cette section. https://github.com/jeffhennen/Projects/tree/Test/Week6/Week6Final
C'est mon test.html
<!DOCTYPE html> <html> <head> <link rel="stylesheet" href="node_modules/mocha/mocha.css"> </head> <body> <div id = "mocha"><p><a href=".">Index</a></p></div> <div id = "messages"></div> <div id = "fixtures"></div> <script src="node_modules/mocha/mocha.js"></script> <script src="node_modules/chai/chai.js"></script> <script type="module" src="Scripts/Card.js"></script> <script type="module" src="Scripts/Deck.js"></script> <script type="module" src="Scripts/Player.js"></script> <script type="module" src="Scripts/War.js"></script> <script>mocha.setup('bdd')</script> <script type="module" src="UnitTests/CardTest.js"></script> <script type="module" src="UnitTests/DeckTest.js"></script> <script type="module" src="UnitTests/PlayerTest.js"></script> <script>mocha.run();</script> </body> </html>Voici un exemple de mon fichier CardTest.js
var expect = chai.expect; import Card from '../Scripts/Card.js'; describe('Card Functions', () => { describe('Constructor', () => { console.log("Inside card describe constructor"); let card = new Card("Club", "King", 13); console.log(card); it('Should create the card with the value of the card\'s suit equal to param 0', () => { console.log("test1"); expect(card._suit).to.equal("Club"); }); it('Should create the card with the value of the card\'s string value equal to the param 1', () => { console.log("test2"); expect(card._number).to.equal("King"); }); it('Should assign the numeric value of the card\'s string value to the card object', () => { console.log("test3"); expect(card._value).to.equal(13); }); }); });Voici mon fichier Card.js
class Card{ constructor(suit, number, value){ this._suit = suit; this._value = value; this._number = number; } get suit(){ return this._suit; } get value(){ return this._value; } get number(){ return this._number; } } export default Card;
J'ai découvert que pour le faire fonctionner, tout ce que j'avais à faire était de mettre à jour tests.html vers ce qui suit, je viens de mettre à jour les balises vers