gpt4 book ai didi

javascript - 类型错误 : Cannot read property 'prototype' of undefined + Jest + NodeJS

转载 作者:搜寻专家 更新时间:2023-11-01 00:49:50 25 4
gpt4 key购买 nike

我正在使用 jest 对 nodeJS API 进行单元测试。我已经安装了 jest 并将其添加到 package.json 中的脚本中。但面临的问题是:

失败 api/test/math.test.js● 测试套件运行失败

TypeError: Cannot read property 'prototype' of undefined

at module.exports (node_modules/request-promise-core/configure/request2.js:34:48)
at Object.<anonymous> (node_modules/request-promise-native/lib/rp.js:15:1)
at Object.<anonymous> (node_modules/jsdom/lib/api.js:6:17)

Test Suites: 1 failed, 1 total
Tests: 0 total
Snapshots: 0 total
Time: 0.091s
Ran all test suites.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! chain-analytics@1.0.0 test: `jest`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the sample-project@1.0.0 test script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

下面是我的示例类:

数学.js:

  const sum = (a, b) => a + b
const mul = (a, b) => a * b
const sub = (a, b) => a - b
const div = (a, b) => a / b

export default { sum, mul, sub, div };

数学测试.js:

 const  {sum, mul, sub, div}  = require("./math")

test("Adding 1 + 1 equals 2", () => {
expect(sum(1, 1)).toBe(2)
})
test("Multiplying 1 * 1 equals 1", () => {
expect(mul(1, 1)).toBe(1)
})
test("Subtracting 1 - 1 equals 0", () => {
expect(sub(1, 1)).toBe(0)
})
test("Dividing 1 / 1 equals 1", () => {
expect(div(1, 1)).toBe(1)
})

如有任何建议,我们将不胜感激。谢谢!

最佳答案

导出使用导入。 module.exports 会给你 require

模块和需求

您应该更改 math.js :

module.exports = { sum, mul, sub, div };

对于代码:

const {sum, mul, sub, div} = require("./math");

导入/导出

或者你应该使用:

import { sum, mul, sub, div } from "./math";

对于代码:

export default { sum, mul, sub, div };

这只是正确的组合。

关于javascript - 类型错误 : Cannot read property 'prototype' of undefined + Jest + NodeJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53612044/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com