开玩笑-ReferenceError:导入的函数未定义

Gopikrishna S

我已经在这里待了两个小时了,但无法弄清楚我在做什么错。我有以下jest + puppeteer测试:

import {convert} from '../__helpers__/number';

const getAmount = async (page) => {
  const element = await page.waitForSelector('.my-element');

  return element.evaluate((node) => convert(node.innerText));
}

这非常简单直接。但是它始终失败,并显示以下错误:

Error: Evaluation failed: ReferenceError: _number is not defined
          at __puppeteer_evaluation_script__:2:15
          at ExecutionContext._evaluateInternal (node_modules/puppeteer/lib/ExecutionContext.js:122:13)
        -- ASYNC --
          at ExecutionContext.<anonymous> (node_modules/puppeteer/lib/helper.js:111:15)
          at ElementHandle.evaluate (node_modules/puppeteer/lib/JSHandle.js:55:42)
          at ElementHandle.evaluate (node_modules/puppeteer/lib/helper.js:112:23)
          at _callee$ (__tests__/e2e/test.spec.js:13:27)
          at tryCatch (node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:45:40)
          at Generator.invoke [as _invoke] (node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:271:22)
          at Generator.prototype.(anonymous function) [as next] (node_modules/@babel/polyfill/node_modules/regenerator-runtime/runtime.js:97:21)
          at asyncGeneratorStep (__tests__/e2e/test.spec.js:30:103)
          at _next (__tests__/e2e/test.spec.js:32:194)

上面的行号与源代码不匹配。从错误中看,似乎是由于转码失败。所以我去了那个jest-transform-cache地方,看了一下文件,行号也不匹配。它们全都减1。转译的代码还具有更新的输出,并具有以下行:

var _number = require('../__helpers__/number');

我尝试了所有可以想到的方式进行调试:

  • 清除缓存
  • 尝试重命名文件
  • 重新启动系统
  • 在不同的系统中运行测试
  • 开玩笑,没有缓存等

还尝试了这个:

// import {convert} from '../__helpers__/number';

const convert = (text) => magic(text); // for simplicity's sake

const getAmount = async (page) => {
  const element = await page.waitForSelector('.my-element');

  return element.evaluate((node) => convert(node.innerText));
}

现在它失败,并显示以下错误:

Evaluation failed: ReferenceError: convert is not defined

      at __puppeteer_evaluation_script__:2:15
      at ExecutionContext._evaluateInternal (node_modules/puppeteer/lib/ExecutionContext.js:122:13)
.
:

以为我会把它扔在这里,看看是否还有其他人遇到这种怪异现象。它不应该以任何规范失败,我根本无法弄清楚。请帮我!任何想法/方向将不胜感激。

谢谢!

Gopikrishna S

好吧,自从我问了这个问题一周后,我才选择了测试来​​解决这个问题。我只是没有想到下面的代码。我想盯着代码看几个小时,无缘无故就可以解决这个问题。

只需在评估后进行转换..

import {convert} from '../__helpers__/number';

const getAmount = async (page) => {
  const element = await page.waitForSelector('.my-element');
  const amountString = await element.evaluate((node) => node.innerText);

  return convert(amountString);
}

并感谢@ plat123456789的回答,非常感谢!

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

开玩笑:ReferenceError:描述未定义

来自分类Dev

在函数内部开玩笑

来自分类Dev

导入CSS时开玩笑

来自分类Dev

开玩笑-模拟update()函数

来自分类Dev

开玩笑:模拟构造函数

来自分类Dev

开玩笑:无法读取未定义的属性

来自分类Dev

开玩笑:无法设置未定义的属性“”(角度)

来自分类Dev

开玩笑:TypeError:无法读取未定义的属性'foo'

来自分类Dev

TypeError:XXXXXXX不是函数(在开玩笑的同时)

来自分类Dev

从Promise开玩笑的模拟回调函数

来自分类Dev

开玩笑如何测试调用函数的行?

来自分类Dev

开玩笑的自定义匹配器:匹配器内部未定义“ this”

来自分类Dev

开玩笑ReferenceError:初始化之前无法访问”

来自分类Dev

开玩笑-react-automata-未定义不是对象(评估“ machine.states”)

来自分类Dev

开玩笑抛出TypeError:this.inputEl.focus不是函数#1964

来自分类Dev

开玩笑-断言异步函数引发测试失败

来自分类Dev

为什么开玩笑不调用useEffect挂钩内的函数?

来自分类Dev

开玩笑TypeError:Document.save不是函数

来自分类Dev

开玩笑-函数fs.writefile中的模拟回调

来自分类Dev

开玩笑-dontMock函数无法按预期工作

来自分类Dev

开玩笑/反应/ Mobx:TypeError mobxReact.observer不是函数

来自分类Dev

开玩笑:模拟构造函数以返回错误

来自分类Dev

开玩笑未能使用泛型编译函数

来自分类Dev

无法模拟createQueryBuilder函数typeorm nestjs开玩笑

来自分类Dev

开玩笑模拟aws-sdk ReferenceError:初始化之前无法访问

来自分类Dev

开玩笑-无法从共享(Angular)中找到具有相对导入的模块

来自分类Dev

开玩笑地模拟一个toPromise函数.toPromise不是一个函数

来自分类Dev

Vue +开玩笑+打字稿:意外令牌=类静态函数

来自分类Dev

开玩笑的匹配器错误:接收到的值必须是一个函数

Related 相关文章

  1. 1

    开玩笑:ReferenceError:描述未定义

  2. 2

    在函数内部开玩笑

  3. 3

    导入CSS时开玩笑

  4. 4

    开玩笑-模拟update()函数

  5. 5

    开玩笑:模拟构造函数

  6. 6

    开玩笑:无法读取未定义的属性

  7. 7

    开玩笑:无法设置未定义的属性“”(角度)

  8. 8

    开玩笑:TypeError:无法读取未定义的属性'foo'

  9. 9

    TypeError:XXXXXXX不是函数(在开玩笑的同时)

  10. 10

    从Promise开玩笑的模拟回调函数

  11. 11

    开玩笑如何测试调用函数的行?

  12. 12

    开玩笑的自定义匹配器:匹配器内部未定义“ this”

  13. 13

    开玩笑ReferenceError:初始化之前无法访问”

  14. 14

    开玩笑-react-automata-未定义不是对象(评估“ machine.states”)

  15. 15

    开玩笑抛出TypeError:this.inputEl.focus不是函数#1964

  16. 16

    开玩笑-断言异步函数引发测试失败

  17. 17

    为什么开玩笑不调用useEffect挂钩内的函数?

  18. 18

    开玩笑TypeError:Document.save不是函数

  19. 19

    开玩笑-函数fs.writefile中的模拟回调

  20. 20

    开玩笑-dontMock函数无法按预期工作

  21. 21

    开玩笑/反应/ Mobx:TypeError mobxReact.observer不是函数

  22. 22

    开玩笑:模拟构造函数以返回错误

  23. 23

    开玩笑未能使用泛型编译函数

  24. 24

    无法模拟createQueryBuilder函数typeorm nestjs开玩笑

  25. 25

    开玩笑模拟aws-sdk ReferenceError:初始化之前无法访问

  26. 26

    开玩笑-无法从共享(Angular)中找到具有相对导入的模块

  27. 27

    开玩笑地模拟一个toPromise函数.toPromise不是一个函数

  28. 28

    Vue +开玩笑+打字稿:意外令牌=类静态函数

  29. 29

    开玩笑的匹配器错误:接收到的值必须是一个函数

热门标签

归档