Я использую Jest для тестирования моего кода JavaScript. Или, по крайней мере, я бы очень хотел использовать Jest.
Проблема в том, что Jest нужно, чтобы я использовал module.exports
, чтобы использовать функцию внутри тестового файла. А это значит, что я не могу использовать свой JavaScript в браузере.
Простой тест Jest выглядит так:
// divide.js
function divide(a, b) {
return a / b;
}
module.exports = divide;
// divide.test.js
const divide = require('./divide');
test('divides 10 by 2 equal to 5', () => {
expect(divide(10, 2)).toBe(5);
});
И все работает отлично. Я запускаю test
в CLI и все хорошо.
Я понимаю, что Jest написан с учетом React (следовательно, каждое руководство по Jest использует React), но, похоже, имеет смысл иметь смысл тестировать с (ванильным) JavaScript.
Я понимаю, что module.exports
и require
являются специфическими для Node.js. Но я не могу понять, как обращаться с ними таким образом, чтобы я мог использовать функции в коде моего браузера3.
До сих пор я решал эту проблему, комментируя module.exports
- и это точно нереальный способ.
Итак, мой вопрос: как мне использовать файл Div.js как в тесте, так и в браузере?
Я могу придумать, как пойти сюда:
- Переключите тестовый набор на что-то другое
- Узнайте, какие инструменты или настройки мне нужны для создания чего-то вроде main.js из файлов, содержащих module.exports
, таким образом, чтобы его можно было использовать в браузере