2

我正在尝试使用 jest 和 vanilla 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 配置等。但我的项目中没有任何.babelrc。它只是 html、css、pug、js 和 webpack。

下面是我的项目目录结构。

在此处输入图像描述

4

1 回答 1

2

Es6 模块需要 babel。要使用 jest 设置 babel,请遵循https://jestjs.io/docs/en/getting-started.html#using-babel,根据指南创建 .babelrc ,并删除所有与反应相关的部分,因为您不使用在这里做出反应。

于 2018-07-05T19:34:12.510 回答