运行 个使用 Jest 测试函数的测试用例

Running test cases to test a function using Jest

我正在尝试为一个需要两个参数的函数测试几个测试用例。这两个参数连同我在三个不同文件中定义的结果,然后将其导出。我正在使用 Jest,但它抛出 "TypeError: (0 , _index.default) is not a function" 错误。有人能告诉我哪里出错了吗?在沙箱中对此进行测试

测试文件:

import appendToFilter from "./index";
import { res1, res2, res3, res4, res5, res6, res7, res8 } from "./Results";
import { src1, src2, src3, src4, src5, src6, src7, src8 } from "./Source";
import { ip1, ip2, ip3, ip4, ip5, ip6, ip7, ip8 } from "./Input";

test("case1", () => {
  expect(appendToFilter(src1, ip1)).toBe(res1);
});

index.js

export function appendToFilter(filter, inputObjects) {
  // logic here
}

Link: https://codesandbox.io/s/optimistic-mirzakhani-pogpw-so-b47y8

这是因为您没有任何默认导出,并且您在没有命名导入的情况下从索引导入 appendToFilter。

使用

import { appendToFilter } from "./index";

而不是

import appendToFilter from "./index";

您将函数导入为默认导入,但将其导出为命名导出。转到您的 index.js 和

export default appendToFilter

或将函数导入为命名导入,方法是:

import { appendToFilter } from "./index";

而不是:

import appendToFilter from "./index";