npm包 @atlaskit/editor-test-helpers 使用教程

阅读时长 5 分钟读完

在前端开发中,对于富文本编辑器的单元测试是必需的,在这个过程中, @atlaskit/editor-test-helpers 是一个非常好用的npm包,这个包提供了在单元测试中生成一个简单但实用的编辑器实例的API。本文将提供详细的使用教程来帮助初学者了解如何使用它。

安装

在使用 @atlaskit/editor-test-helpers 之前,我们需要先安装它,使用以下命令:

配置

@atlaskit/editor-test-helpers 是通过一个对象来生成编辑器实例的,在这个对象中我们需要指定编辑器实例的一些配置。例如,要创建一个基本的编辑器实例,可以使用以下代码:

通过 createProsemirrorEditorFactory 方法创建了 createEditor 函数,它可以接收一个对象来设置编辑器的初始化参数。在这个例子中,我们没有传任何参数,只是使用了默认的参数来创建了一个编辑器实例。

文档片段

在编辑器中,我们通常会使用文档片段(document fragments)来组成编辑器的内容。文档片段是一个描述富文本内容的数据结构。@atlaskit/editor-test-helpers 提供了一个便利的 API 来快速生成文档片段,例如:

在此示例中,我们使用了 @atlaskit/editor-test-helpers/doc-builder 中的 doc(p()) 方法来创建了一个段落(paragraph),并将其传递给编辑器初始化参数中的 doc 属性。

自定义插件

可以使用 @atlaskit/editor-test-helpers 提供的插件快速添加功能到编辑器中。例如,我们可以使用 toggleMark 插件来启用加粗(bold)文本的功能。使用以下代码:

在这个例子中,我们使用 toggleMark 插件将编辑器中的文本标记为加粗。我们还需要使用schema-builder中的 strong 初始化 应用样式。

测试方法

使用 @atlaskit/editor-test-helpers,我们可以轻松地编写测试,这里是一个简单的例子:

-- -------------------- ---- -------
------ - ------------------ - ---- ---------------------------------------------
------ - ---------- - ---- -----------------------------------------------
------ - ---- - - ---- --------------------------------------------

---------- ------ --- ------- --------- -- -- -
  ----- ------- - ------------- ----------
  ----- ------ - --------------
    ---- --------
  ---

  ----------------------- - -------
  ---------------------------------------

  ----------------------------------------------
    -------------------- ------ ---------
  --
---

在这个例子中,我们使用了三个方法:

  • insertText: 手动在富文本编辑器中添加内容。
  • clickToolbarButton: 手动单击工具栏按钮。
  • expect: 使用 jest 断言库验证我们的编辑器是否符合预期。

结论

@atlaskit/editor-test-helpers 是一个非常好的npm包,它提供了方便的API来测试富文本编辑器。在本文中,我们提供了基本的使用教程,并演示了如何使用 @atlaskit/editor-test-helpers 创建编辑器实例、生成文档片段、自定义插件以及编写测试方法。希望本文能够帮助读者更好地理解 @atlaskit/editor-test-helpers 的使用方法,并促进他们在开发中更快速地创建富文本编辑器单元测试。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/atlaskit-editor-test-helpers