我正在尝试使用带有普通javascript的笑话来运行测试用例。
login.test.js
import { validateEmail } from '../assets/js/common';
describe('validate email', () => {
it('should pass with valid email', () => {
const result = validateEmail('example@test.com');
expect(result).toBe(true);
});
it('should fail with invalid email', () => {
const result = validateEmail('exampletest.com');
expect(result).toBe(false);
});
})
common.js
export const validateEmail = (email) => {
return email && EMAIL.test(email);
}
当我运行npm run test
时,它会抛出
({"Object.<anonymous>":function(module,exports,require,__dirname,__filename,global,jest){
从'../assets/js/common'导入{validateEmail};
^^^^^^ SyntaxError: Unexpected token import
我在GitHub上关注了很多线程,但没有用。他们说的是React,react-native以及Babel config等。但是我的项目中没有任何 .babelrc 。只是html,css,pug,js和webpack。
下面是我的项目目录结构。
答案 0 :(得分:1)
ES6模块需要babel。要设置带有笑话的babel,请按照https://jestjs.io/docs/en/getting-started.html#using-babel进行操作,并按照指南创建.babelrc,并删除所有与react相关的部分,因为您此处不使用react。