gpt4 book ai didi

javascript - 如何使用 mocha/chai 模拟窗口/文档

转载 作者:IT老高 更新时间:2023-10-28 22:08:05 29 4
gpt4 key购买 nike

当我尝试对 getElement 函数进行单元测试时

class BarFoo {
getElement() {
return document.querySelector('#barfoo');
}
}

mocha 对 document 一无所知,所以我想你可能会这样做:

beforeEach(() => {
global.document = {
querySelector: () => { ... }
}
}

虽然这可行,但我想知道这是否是正确的方法,也许有一个包可以解决这个问题,因为如果使用更多的浏览器 API,我的方法会变得很费力?

最佳答案

有几个选项可供您使用:

选项 1:使用 JSDOM

通过在代码中添加 DOM,您可以在 node.js 中对大部分客户端代码进行单元测试

选项 2:在客户端使用 MOCHA

Mocha 确实在客户端内部运行,您可以使用单独的客户端单元测试。这往往是我的首选方法,因为我可以针对特定的浏览器而不是特定的 JS 植入进行测试。

选项 3:使用 PhantomJS

PhantomJS 允许您在测试环境中控制 headless 浏览器。

选项 4:Headless Chrome

现在 Headless Chrome 已经出局,PhantomJS 的维护者已经退休了。

关于javascript - 如何使用 mocha/chai 模拟窗口/文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36500723/

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