如何使用Vanilla JS运行Jest测试用例?

时间:2018-07-05 09:24:03

标签: jestjs babel-jest

我正在尝试使用带有普通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。

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

enter image description here

1 个答案:

答案 0 :(得分:1)

ES6模块需要babel。要设置带有笑话的babel,请按照https://jestjs.io/docs/en/getting-started.html#using-babel进行操作,并按照指南创建.babelrc,并删除所有与react相关的部分,因为您此处不使用react。