#javascript #node.js #module #mocha.js #chai
Вопрос:
Я создал a function
, чтобы проверить, является ли a number
простым, и экспортировать его в unit test
него вот так:
/**
* Method checks if the number is prime amp; returns true or false
* @param {number} num - number to be checked if it's prime
* @returns {boolean} - true if num is prime, false if not
*/
const isNumberPrime = (num) => num < 10 ? [2, 3, 5, 7].includes(num) : ![2, 3, 5, 7].some(i => !(num % i));
exports.modules = { isNumberPrime };
Однако, когда я побежал npm test
, я получил ошибку: TypeError: isNumberPrime is not a function
. Это мое mocha
досье:
const { expect } = require('chai');
const isNumberPrime = require('../utils/prime-number.js');
describe('Util methods', () => {
it('should return true if number is prime', () => {
const primeNumber = isNumberPrime(7);
expect(primeNumber).to.be.true;
});
});
Ответ №1:
вам нужно либо добавить {isPrimeNumber} в импорт на мокко, либо установить модуль.экспорт также равен вашей функции
module.exports = isPrimeNumber;
или
const {isNumberPrime} = require('../utils/prime-number.js');