我正在尝试为类似文字处理器的操作编写单元测试,例如将列表应用于文本节点,但我发现document.execCommand
无法使用jsdom
,所以我'我难以知道如何对以下操作进行单元测试:
document.getElementById('run').addEventListener('click', function() {
document.execCommand("insertorderedlist");
});
<div contenteditable="true">Foo</div>
<button id="run">Select "Foo" then Click</button>
答案 0 :(得分:1)
我最终不得不显式地嘲笑document.execCommand
:
// test-mocks.js
global.document.execCommand = function execCommandMock() { };
然后将我的模拟物直接放入摩卡咖啡:
"specs": "mocha --require @babel/register --require jsdom-global/register --require ignore-styles --require test-mocks.js ./path/to/tests.spec.js"