Javascript - Les tests unitaires Mocha Chai ne fonctionnent pas
P粉964682904
P粉964682904 2024-04-02 14:52:19
0
1
366

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

  • Cartes
  • Pont
  • Joueur
  • Guerre

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/Week6Final

Je 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;

P粉964682904
P粉964682904

répondre à tous(1)
P粉786800174

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

sssccc






    


    
    
sssccc sssccc sssccc sssccc sssccc sssccc sssccc sssccc sssccc sssccc sssccc
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!