Почему тест Jest выдает ошибку(Uncaught ReferenceError: module is not defined)?

Тест выдает ошибку Uncaught ReferenceError: module is not defined не могу понять как ее устранить
Код тестирования:
const { calculate } = require('./mainScripts');
const { expect } = require("expect");

//_____Тестируем экземпляр класса calculate_____//
describe('Тестируем экземпляр класса', () => {

    //_____getAge_____//
    test('Проверка на типы данных функции getAge', () => {
        expect(calculate.getAge()).toBeTruthy()
        expect(typeof calculate.getAge()).toBe('string')
    })

    test('Выводит ли имя и год рождения', () => {
        expect(calculate.getAge()).toBe(`Dmitriy's old is 22 years`)
    })

    //_____averageMark_____//
    test('Проверка на типы данных функции averageMark', () => {
        expect(calculate.averageMark()).toBeTruthy()
        expect(typeof calculate.averageMark()).toBe('string')
    })

    test('Выводит ли среднюю оценку', () => {
        expect(calculate.averageMark()).toBe(`Dmitriy's average mark is 91.4`)
    })

    //_____present_____//
    test('Проверка на типы данных функции present', () => {
        expect(calculate.present()).toBeTruthy();
        expect(typeof calculate.present()).toBe('boolean')

    })

    //_____absent_____//
    test('Проверка на типы данных функции absent', () => {
        expect(calculate.absent()).toBeTruthy();
        expect(typeof calculate.absent()).toBe('boolean')

    })

    //_____summary_____//
    test('Проверка на типы данных функции summary', () => {
        expect(calculate.summary()).toBeTruthy()
        expect(typeof calculate.summary()).toBe('string')
    })

    test('Выводит ли Cool!', () => {
        expect(calculate.summary()).toEqual(`Cool!`)
    })
})


Основной код :
class Student {
    constructor(firstName,lastName,yearOfBirth,arrayOfGrades) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.yearOfBirth = yearOfBirth;
        this.arrayOfGrades = arrayOfGrades;
        this.age = new Date().getFullYear() - this.yearOfBirth;
        this.avgMark = arrayOfGrades.reduce((sum,item) => {
            return sum += item
        }, 0) / arrayOfGrades.length;

    }
    //______Возраст студента______//
    getAge () {
        return (`${this.firstName}'s old is ${this.age} years`);
    }
    //______Средний бал______//
    averageMark () {
        return(`${this.firstName}'s average mark is ${this.avgMark}`);
    }
}

class Visit extends Student {
    constructor(firstName, lastName, yearOfBirth, arrayOfGrades) {
        super(firstName, lastName, yearOfBirth, arrayOfGrades);
        this.visitinMagazine = [];
    }
    //______Используется когда студент был на занятие______//
    present () {
        if (this.visitinMagazine.length < 26) {
            this.visitinMagazine.push(true);
            return this;
        } else {
            return this.visitinMagazine.pop();
        }
    }
    //______Используется когда студент НЕ был на занятие______//
    absent () {
        if (this.visitinMagazine.length < 26) {
            this.visitinMagazine.push(false);
            return this;
        } else {
            return this.visitinMagazine.pop();
        }
    }
}

 class Calculation extends Visit {
    constructor(firstName, lastName, yearsOfBirth, arrayOfGrades) {
        super(firstName, lastName, yearsOfBirth, arrayOfGrades);
    }

     //______Проверяем среднюю оценку и посейщение______//
     summary () {
         const averageVisit = this.visitinMagazine.filter((element) => element === true).length / this.visitinMagazine.length;
         if (this.avgMark > 90 && averageVisit > 0.9) {
             return 'Cool!';
         } else if (this.avgMark > 90 || averageVisit > 0.9) {
            return 'Good, but it can be better!';
         } else {
             return 'Radish';
         }
     }
 }
//______Экземпляры расчетов______//
const calculate = new Calculation('Dmitriy', 'Yaroshchuk', 2001, [70, 80, 90, 100, 90, 90, 99, 100, 95, 100]);
const calculate1 = new Calculation('Andrew', 'Kavetsky', 2000, [90, 90, 90, 90, 90, 90, 100, 100, 95, 93]);
const calculate2 = new Calculation('Diana', 'Koko', 1999, [70, 70, 70, 70, 70, 70, 75, 75, 75, 93]);

console.log(calculate.getAge());
console.log(calculate1.getAge());
console.log(calculate2.getAge());

console.log(calculate.averageMark());
console.log(calculate1.averageMark());
console.log(calculate2.averageMark());


//______Посейщение уроков______//
calculate.present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().absent().absent();

//______Посейщение уроков______//
calculate1.absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().absent().present().present();

//______Посейщение уроков______//
calculate2.present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().present().absent().absent().absent().absent().absent();


console.log(calculate.summary());
console.log(calculate1.summary());
console.log(calculate2.summary());


module.exports = { Calculation: Calculation, calculate: calculate }


Фото ошибки:
63e267201b082056319749.png
  • Вопрос задан
  • 112 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka
Токсичный шарпист
Потому что getAge почему-то оказался не функцией. Видимо импортируешь как-то не так.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы