【问题标题】:"fetch" is not defined“获取”未定义
【发布时间】:2018-09-09 20:36:15
【问题描述】:

我有这段代码,我正在用 HTMLUnit 测试:

function fetchIt() {
    var response = fetch('https://httpbin.org/get');
    var json = response.json();
    console.log(json);
    return json;
};
fetchIt();

但抛出

net.sourceforge.htmlunit.corejs.javascript.EcmaError: ReferenceError: "fetch" is not defined.

我们如何在 HTMLUnit、JUnit 测试中使用fetch

fetchhttps://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

【问题讨论】:

  • 据我所知它是浏览器 API 的一部分?
  • HTMLUnit 是我用于单元测试的浏览器
  • 你怎么知道 HTMLUnit 首先支持 fetch?
  • 您能否在 HtmlUnit 错误跟踪器中打开一个问题。如果你喜欢 GitHub 上提供的 HtmlUnit - 欢迎任何贡献。

标签: javascript java junit htmlunit


【解决方案1】:

使用 HtmlUnit 测试代码意味着您不在使用 fetch capabilities 的浏览器中。

您应该在页面中包含polyfill for fetch 或使其在单元测试上下文中可用。

【讨论】:

  • 在哪里可以获取要包含在浏览器 html 中的 JS 文件?
  • btw 链接已损坏
猜你喜欢
  • 1970-01-01
  • 2020-10-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-26
  • 2016-07-31
  • 2019-02-10
相关资源
最近更新 更多