跳至主要内容

Marko 测试库

Marko 测试库 基于 DOM 测试库,并添加了用于处理 Marko 组件的 API。

npm install --save-dev @marko/testing-library

问题

您希望为您的 Marko 组件编写可维护的测试。作为此目标的一部分,您希望您的测试避免包含组件的实现细节,而是专注于让您的测试为您提供它们所预期的信心。作为此的一部分,您希望您的测试套件在长期内保持可维护性,因此组件的重构(对实现的更改,但不是功能)不会破坏您的测试并减缓您和您的团队的速度。

此解决方案

@marko/testing-library 是一个非常轻量级的解决方案,用于测试 Marko 组件。它在 @testing-library/dom 之上提供了轻量级的实用函数,以鼓励更好的测试实践。它的主要指导原则是

您的测试越像您使用软件的方式,它们就能给您越多的信心。

因此,与其处理渲染的 Marko 组件实例,您的测试将与实际的 DOM 节点一起使用。此库提供的实用程序以用户相同的方式促进对 DOM 的查询。通过其标签文本(就像用户一样)查找元素,从其文本(就像用户一样)查找链接和按钮。它包含一个小的目标 API,并且如果需要,可以通过一些内置的逃生舱口来避免您的干扰。

此库鼓励您的应用程序更易于访问,并允许您更接近用户使用组件的方式进行测试,这可以让您对应用程序在真实用户使用时的工作方式更有信心。

此库不是什么:

  1. 测试运行器或框架
  2. 特定于测试框架,您可以 与 Jest 一起使用mocha 或其他测试运行器。

注意:此库构建在 DOM 测试库 之上,查询背后的大部分逻辑都在那里。