使用正确的断言,而不是总是只使用toEqual和toBeTruthy,有助于在发生错误时生成更好、更有意义的消息。 如果你想更进一步,你可以看看unexpected或Power Assert。以下是失败测试及其错误消息的一些示例对于特殊情况,通常可以使用更具体的断言/期望库。例如,使用Expect-redux比使用标准匹配器可以更轻松地测试 Redux 应用程序的状态管理。 间谍和特技演员 不幸的是,模拟和存根的主题过于广泛,无法在本文中详细介绍。
基本上可以说,Jest已经可以凭借广泛的集成而 华侨资料 大放异彩。 从概念上讲,这涉及所谓的测试替身。测试替身是真实实现的替代品,但实际实现并不打算在测试中进行测试 - 就像替身演员替演员做替身一样。测试替身分为或Gerard Meszaros 的xUnit 模式中阅读有关背景的更多信息。任何类型的测试替身都可以使用 Jest-Spies 创建。这使得可以将被测代码与其依赖项隔离开来,并防止单元测试意外地变成集成测试。如果 Jest 提供的选项不够,或者需要 Mocha 解决方案,那么已建立的Sinon.JS可以提供帮助。
另一方面,Mock Service Worker专门模拟网络层。 表面的单位 现代 Web 应用程序测试策略的一个重要部分是界面组件测试:UI 单元测试。在测试金字塔中,UI 测试最初位于顶部。这意味着需要更多的端到端测试,从用户的角度通过 UI 查看应用程序的整个堆栈,一直到数据库。在设计良好的 Web 架构中,还可以将 UI 的各个部分与域逻辑分开进行测试。 与应用程序逻辑单元相比,UI 单元不是函数或类。这具体意味着什么取决于所使用的 UI 框架。例如,在 jQuery 时代,这些都是独立的小部件,就像一个自行开发的日期选择器。