无法在Jest测试模块的模块外部使用导入语句

时间:2020-06-15 07:33:20

标签: reactjs unit-testing jestjs

我是Jest的新手。我尝试为基本功能

编写测试
export const queryValidate = (query) => {
const str = query.replace(/\s+/g, "");
const conditionsArray = [
    str === "",
    str === "{",
    str === "}",
    str === "{}",
];
if (conditionsArray.includes(true)) {
    return true;
} else {
    return false;
}

};

在我的Jest测试文件中

import { queryValidate } from "./components/QueryValidate";
console.log(queryValidate("{"));

我收到此错误消息:

从“ ./components/QueryValidate”导入{queryValidate};

SyntaxError: Cannot use import statement outside a module

我不明白这是关于Jest错误或React模块错误。我尝试写虚拟测试,如:test("Fake test", () => { expect(true).toBeTruthy(); }); 是工作 。 有人可以帮我吗?

1 个答案:

答案 0 :(得分:0)

我没有足够的声誉来添加评论,因此我添加了答案。我前一段时间也面临着同样的问题。 正如Estus在评论中提到的那样,您需要更改Jest配置。 您还可以查看babel-jest,然后设置babel配置文件/ .babelrc,以及预设的环境。