我试图使用jest来测试我的模块文件,遇到了错误,我寻找在线帮助,试图通过将其更改为cjs文件来运行测试,但没有成功。我遇到的错误:
FAIL tests/sum.test.cjs
● Test suite failed to run
Jest encountered an unexpected token
Jest failed to parse a file. This happens e.g. when your code or its dependencies use non-standard JavaScript syntax, or when Jest is not configured to support such syntax.
更具体地说
Details:
<edited_path>\event-management-system\tests\sum.test.js:1
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,jest){import sum from '../sum.js';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at Runtime.createScriptFromCode (node_modules/.pnpm/jest-runtime@29.5.0/node_modules/jest-runtime/build/index.js:1495:14)
Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 1.227 s
Ran all test suites.
我用来测试的文件是sum.js
const sum = (a, b) => {
return a + b;
};
export default sum;
sum.test.js
import sum from '../sum.js';
describe('sum module', () => {
test('adds 1 + 2 to equal 3', () => {
expect(sum(1, 2)).toBe(3);
});
});
请帮助我解决此特定错误
编辑:
我已经尝试过将文件类型更改为.mjs文件或使用require语法而不是import。并使用.cjs文件时间作为测试文件。
1条答案
按热度按时间rwqw0loc1#
有几件事可以尝试:
在您的
package.json
中添加以下内容或
将文件类型更改为
.mjs
文件或
使用
require
语法而不是import
。你可以在这里看到其中的一些解决方案:"Uncaught SyntaxError: Cannot use import statement outside a module" when importing ECMAScript 6