我正在使用 mocha 和 jsdom 对 JavaScript 库进行单元测试。库中的一个模块具有不同的行为,具体取决于文档是否准备好。为了测试这种行为,我需要模拟一个尚未完全准备好的文档(即它的readyState
属性是"loading"
)。简单的解决方案
delete document.readyState
document.readyState = 'loading'
// perform tests ...
不起作用,因为 jsdom 将该readyState
属性视为只读。即使在该代码之后,readyState
仍然存在"complete"
有没有人遇到过任何聪明的解决这个限制的方法?