如何对`document.execCommand`进行单元测试?

时间:2018-04-25 13:42:07

标签: mocha sinon jsdom

我正在尝试为类似文字处理器的操作编写单元测试,例如将列表应用于文本节点,但我发现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>

1 个答案:

答案 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"