Javascript 运行测试用例以使用Jest测试函数
我试图测试一个函数的几个测试用例,其中包含两个参数。这两个参数以及我在三个不同文件中定义的结果,然后将其导出。我也在使用Jest,但它抛出了“TypeError:(0,_index.default)不是函数”错误。有人能告诉我哪里出了问题吗。在沙箱中进行测试 测试文件:Javascript 运行测试用例以使用Jest测试函数,javascript,jestjs,babel-jest,Javascript,Jestjs,Babel Jest,我试图测试一个函数的几个测试用例,其中包含两个参数。这两个参数以及我在三个不同文件中定义的结果,然后将其导出。我也在使用Jest,但它抛出了“TypeError:(0,_index.default)不是函数”错误。有人能告诉我哪里出了问题吗。在沙箱中进行测试 测试文件: import appendToFilter from "./index"; import { res1, res2, res3, res4, res5, res6, res7, res8 } from "./Results";
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
}
链接:这是因为您没有任何默认导出,并且您正在从索引导入appendToFilter,而没有命名导入 使用 而不是
import appendToFilter from "./index";
您将函数作为默认导入导入,但将其作为命名导出导出。转到index.js并
export default appendToFilter
您的操作方式似乎是正确的,只是我不确定您的函数中的逻辑是什么。通常,您会将参数传递给函数,并根据您的逻辑预期返回值。也许您应该创建另一个关于如何测试函数的问题。我认为从我在测试文件中看到的情况来看,您的操作是正确的。您需要注意的是断言——toBe并不总是有效的,您需要在某些情况下尝试其他断言,如toEqual,尤其是数组和对象。检查Jest文档以获得更多可以尝试的断言
import appendToFilter from "./index";