使用 Jest 的 TinyMCE v4 测试不返回编辑器实例

TinyMCE v4 testing with Jest not returning Editor instance

我正在尝试在 Jest 中编写一些需要使用 TinyMCE 的测试。我正在找回似乎是有效的 tinymce 对象(因为 tinymce.majorVersion 显示 4)但是当我执行 tinymce.editors[0] 时,我得到了 undefined.

这是我的 js/Jest 代码:

describe('My Test', () => {
    var editor = null;
    var BODY = 'editor-body';

    var tinyMceSettings = {
        elements = BODY,
        plugins  = 'myplugin',
        init_instance_callback: function(editor) {
            editor.setContent(Utils.HTML);
        };
    };
    tinymce.init(tinyMceSettings);
    editor = tinymce.get(BODY);
    // tinymce.majorVersion prints '4'
    // tinymce.editors[0] gives me undefined
});

我的 Utils.js 文件包含一些 HTML 用于测试:

const HTML = 
    "<div id='editor-body' class='editor-body-parts'>" +
        "<p data-type='header'>" +
            "<span class='element'>TIME</span>" +
            "<span class='element'>PERSON</span>" +
            "<span class='element'>ADDRESS</span>" +
       "</p> + 
    "</div>";

任何帮助都会很棒。

Jest 不是一个“合适的”浏览器,因此 TinyMCE 可能不会真正针对它进行初始化。我怀疑 init() 调用根本无法正常工作,而全局 tinymce 变量仅通过加载 TinyMCE 脚本而存在, editors[] 数组将是空的,除非适当的 init() 完成。