javascript - 完全或部分在 TypeScript 中模拟类和接口(interface)

标签 javascript typescript unit-testing mocking

在 TypeScript 中完全或部分模拟类和接口(interface)的最佳方法是什么?

Jest 是一种流行的测试堆栈,具有模拟支持,但是根据 this不支持以流畅的方式模拟单个方法、类和接口(interface)。

最佳答案

有许多专门针对 TypeScript 的模拟库。 Substitute.js是一个优秀的。在撰写本文时,它解决了其他方面的缺点,包括:

  • 流畅的 API。 ts-mockito 有一个流畅的 API,但是它不能模拟接口(interface)。这是一个阻碍。
  • 能够创建部分模拟。

它也可以相当简单地用 jest 来实现,如下所示:

ClientDefaultImpl.prototype.authorize = jest.fn().mockImplementationOnce(
            () => Promise.resolve('xxx'));

编辑:

ts-mockito现在支持模拟类(和接口(interface)?)。

关于javascript - 完全或部分在 TypeScript 中模拟类和接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54489075/

相关文章:

javascript - 获取多维 JSON 变量的行数

javascript - 在 Rollup 中,创建除 Flow 之外不进行 babel 转译的 ESM 模块

javascript - Grunt Wiredep 不更新脚本标签

javascript - 在 AngularJS Controller 中对 Promise 调用进行单元测试时遇到问题

javascript - 为什么在使用 Google Closure 模拟时需要同时调用 replayAll 和 verifyAll?

Javascript 像素操作 : These aren't my colors

javascript - 单击时 Angular 2 更改模板输入值

javascript - typescript TS7015 : Element implicitly has an 'any' type because index expression is not of type 'number'

reactjs - 如何修复 "SyntaxError: Cannot use import statement outside a module"

java - 如何每次使用不同的测试数据多次运行相同的 JUnit 测试?