gpt4 book ai didi

javascript - 如何测试使用浏览器 API 的代码

转载 作者:行者123 更新时间:2023-12-01 03:29:42 25 4
gpt4 key购买 nike

我正在使用Node来运行我的单元测试

我想测试浏览器中运行的 JavaScript 模块。

我的代码是“同构”,即它避免了 Node 中不可用的语言功能,例如 export

但它使用纯浏览器 API:XMLHttpRequestFormDataFile
我已经找到了它们每个的 Node 实现。
但是XMLHttpRequest不支持上传

因此,我正在寻找在具有这些 API 的环境中对该代码进行单元测试的最简单方法。
该代码不需要 DOM 或其他浏览器 API,“仅”这三个。

我已经使用 PhantomJS 来满足其他需求,但是:

  • 这将创建另一个测试工作流程(小问题),
  • 它支持较旧的 JavaScript 版本,并且会强制完全重写代码以进行测试(主要问题),
  • 代码有很多可能不兼容的 NPM 依赖项(阻塞问题)。

由于代码是浏览器化,所有这些问题可能会消失,但在这样做之前我想确定一下。

是否有机会让它与 PhantomJSCasperJS 等一起工作?

还有哪些其他替代方案可用?

最佳答案

这不是测试在浏览器中运行的代码的方式。如果在浏览器中运行,则需要在浏览器中进行测试。

您需要研究基于 webdriver 规范的解决方案。这个生态系统中最大的怪物就是 Selenium 。我目前正在研究这个主题,因为我们在使用 selenium-server 时遇到了一些问题。你还应该看看 Nightwatch 和 Leadfoot。 Webdriver.io 是很多人推荐的第一个推荐,因为它是一个基于 Node 的客户端,(很差地)围绕 Selenium。但文档到处都是,我们在使用它时经常遇到错误。

关于javascript - 如何测试使用浏览器 API 的代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44598130/

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