在TypeScript中完全或部分模拟类和接口

时间:2019-02-02 01:11:39

标签: javascript typescript unit-testing mocking

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

Jest是一种流行的具有模拟支持的测试堆栈,但是根据this,模拟单个方法时,不能流畅地支持类和接口。

1 个答案:

答案 0 :(得分:2)

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

  • 流利的API。 ts-mockito具有流畅的API,但是无法模拟接口。这是一个秀场停止者。
  • 能够创建部分模拟。

也可以通过开玩笑很简单地实现它,如下所示:

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