【问题标题】:how to import third party library in karma mocha testkarma mocha测试中如何导入第三方库
【发布时间】:2023-01-22 20:04:31
【问题描述】:
我的简单项目中有 flatpickr。我需要使用karma和mocha编写测试代码来测试flatpickr。但问题是我无法使用import 或require 将flatpickr 导入test.js 文件。它给了我以下错误:
Cannot use import statement outside a module
有没有办法模拟 flatpickr 库或以某种方式正确导入它?
试图编写测试代码但失败了。
【问题讨论】:
标签:
javascript
testing
mocha.js
karma-mocha
flatpickr
【解决方案1】:
-
首先,使用 npm 或 yarn 安装库:npm install --save-dev lodash 或 yarn add --dev lodash
-
在您的测试文件中,在文件顶部,您可以使用 require 函数导入库:
const _ = require('lodash');
3)然后您可以在测试中使用导入的库。例如:
describe('my test', () => {
it('should use lodash', () => {
const result = _.map([1, 2, 3], (n) => n * 2);
expect(result).to.deep.equal([2, 4, 6]);
});
});
您还需要将库添加到业力配置文件中的文件数组中,
files: [
// ...
'node_modules/lodash/lodash.js',
// ...
],
值得注意的是,在 Karma/Mocha 测试中使用 require 函数导入时,某些库可能无法正常工作。在这种情况下,您可能需要使用诸如 karma-webpack 或 karma-browserify 之类的工具来正确导入库。