Модульное тестирование с Jest без module.exports - PullRequest
0 голосов
/ 25 сентября 2018

У меня есть скрипт, который содержит одну переменную const, в которой хранится вся моя логика, вроде Moment.js.
Я хочу протестировать функции, которые работают с этим скриптом, с помощью Jest.

Я не могу использовать module.exports, так как он не будет работать, когда я публикую свой сценарий.
И если я не могу использовать module.exports, я не могу использовать require.

Но я все еще хочу запустить модульные тесты на моем скрипте.
Я попытался использовать import безуспешно.

Вот мой код:

import 'src/library.js';

test('Something', () => {
    expect(library.add(1,2)).toBe(3);
});

А это моя библиотека:

const library = () => {
    return {
        add : (num1,num2) => num1 + num2,
        subtract : (num1,num2) => num1 - num2
    }
}

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

как насчет упаковки вашего экспорта:

if (typeof exports !== 'undefined') {
    module.exports = { yourWhatever };
}
0 голосов
/ 25 сентября 2018

Первый вариант (быстрый и грязный): не импортировать.Просто переместите код в один файл.

Второй вариант (лучший долгосрочный вариант): узнайте, как использовать (веб-пакет и) babel .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...