मैंने एक साधारण बॉट बनाया है और getComputerChoice नामक एक बुनियादी वर्ग फ़ंक्शन का परीक्षण करना चाहता हूं। मैं इस फ़ंक्शन का परीक्षण करने के लिए मोचा और चाय का उपयोग कर रहा हूं, लेकिन जब मैं इसे चलाता हूं, तो यह TypeError: getComputerChoice is not a function कहता है। मैंने समाधान खोजने की कोशिश की है लेकिन मुझे कोई भाग्य नहीं मिला है।

यहाँ नीचे दिया गया कोड है:

Game.js

class PaperScissorsRockCommand {
    constructor() {}

    getComputerChoice() {
        const choices = ['paper', 'scissors', 'rock'];
        const chance = Math.floor(Math.random() * 3);
        return choices[chance];
    }
}

module.exports = PaperScissorsRockCommand;

Game.spec.js

const assert = require('chai').assert;
const getComputerChoice = require('../commands/games/paperscissorsrock').getComputerChoice;

describe('Paper, Scissors, Rock', function () {
    it('Return paper', function () {
        let result = getComputerChoice();
        assert.equal(result, 'paper');
    });
});
0
user10021926 12 पद 2018, 14:18

1 उत्तर

सबसे बढ़िया उत्तर

आपको अपने कार्य को स्थिर के रूप में चिह्नित करने की आवश्यकता है

class PaperScissorsRockCommand {
    constructor() {}

    static getComputerChoice() {
        const choices = ['paper', 'scissors', 'rock'];
        const chance = Math.floor(Math.random() * 3);
        return choices[chance];
    }
}

जैसा कि वर्तमान में लिखा गया है कि आप इस विधि को PaperScissorsRockCommand.prototype में जोड़ रहे थे

Math.random का उपयोग करने वाले फ़ंक्शन का परीक्षण करना भी कठिन होगा Math.random का मज़ाक उड़ाते हुए :)

1
Yury Tarabanko 12 पद 2018, 14:20