Marko Testing Library
Marko Testing Library
建立
在DOM Testing Library
的基础上,增加了与 Marko
组件一起工作的 API。
- npm
- Yarn
npm install --save-dev @marko/testing-library
yarn add --dev @marko/testing-library
问题
你想为你的 Marko 组件编写可维护的测试。作为这个目标的一部分,你希望你的测试避免 包括你的组件的实现细节,而是专注于使你的测试给你带来信心,因为他们是为了这个目的 。作为这个目标的一部分,你希望你的测试套件从长远来看是可维护的,所以你的组件的重 构(实现的变化,但不是功能的变化)不会破坏你的测试,并减缓你和你的团队。
解决方案
@marko/testing-library
是一个非常轻量级的解决方案,用于测试 Marko 组件。它在
@testing-library/dom
的基础上提供轻量级的实用功能,以鼓励更好的测试实践。它的
主要指导原则是:
因此,与其处理渲染的 Marko 组件的实例,你的测试将与实际的 DOM 节点一起工作。这个 库所提供的工具有助于以用户的方式查询 DOM。通过标签文本寻找元素(就像用户一样), 通过文本寻找链接和按钮(就像用户一样)。它包含了一个小型的有针对性的 API,如果需 要的话,可以通过一些内置的逃生舱门来摆脱你的束缚。
这个库鼓励你的应用程序更容易访问,并允许你让你的测试更接近于以用户的方式使用你的 组件,这允许你的测试给你更多的信心,当一个真正的用户使用它时,你的应用程序会工作 。
这个库不是什么:
注意:这个库是建立在
DOM Testing Library
之 上的,而DOM Testing Library
是查询背后大部分逻辑的所在。