【问题标题】:Mock classes and interfaces, fully or partially in TypeScript全部或部分在 TypeScript 中模拟类和接口
【发布时间】:2019-06-26 14:18:10
【问题描述】:

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

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

【问题讨论】:

    标签: javascript typescript unit-testing mocking


    【解决方案1】:

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

    • 流畅的 API。 ts-mockito 有一个流畅的 API,但是它不能模拟接口。这是一场表演。
    • 能够创建部分模拟。

    也可以用jest相当简单的实现,如下:

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

    编辑:

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

    【讨论】:

    • 回答我昨天提出的问题并分享几个小时的研究。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-08-06
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2019-10-01
    • 1970-01-01
    相关资源
    最近更新 更多