我正在尝试为使用两个参数的函数测试一些测试用例。这两个参数以及结果我已经在三个不同的文件中对其进行了定义,然后将其导出。我使用Jest表示相同,但抛出“ TypeError:(0,_index.default)不是函数”错误。有人可以告诉我我要去哪里错了。在沙盒中进行测试
测试文件:
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
}
链接:https://codesandbox.io/s/optimistic-mirzakhani-pogpw-so-b47y8
答案 0 :(得分:1)
这是因为您没有任何默认导出,并且您正在从索引中导入appendToFilter而未命名导入。
使用
import { appendToFilter } from "./index";
代替
import appendToFilter from "./index";
答案 1 :(得分:1)
您正在将函数作为默认导入导入,但已将其导出为命名导出。转到您的index.js和
export default appendToFilter
或通过执行以下操作将函数导入为命名导入:
import { appendToFilter } from "./index";
代替:
import appendToFilter from "./index";