基于与jest-ts接口的模拟函数

wi3ka0sx  于 2022-12-08  发布在  Jest
关注(0)|答案(1)|浏览(175)

我正在尝试找到使用Jest测试用TypeScript编写的Azure函数的最佳方法。这需要将一个Context对象传递到中,并带有满足以下接口的日志属性:

interface Logger {
        (...args: any[]): void;
        error(...args: any[]): void;
        warn(...args: any[]): void;
        info(...args: any[]): void;
        verbose(...args: any[]): void;
    }

我不关心测试对这些方法的调用,我只关心将一个有效的函数传递到对象中。我正在寻找一种最快的方法来创建一个mock函数,以允许调用接口中的任何方法,而不必为测试目的显式定义我自己的Logger实现。
我希望它能和jest-mock-extendedmockDeep<T>函数一起工作,但是无法工作。我宁愿避免拉入像Moq. ts这样的专用包。有没有一种简单的方法可以用(ts-)jest的内置工具基于这个接口创建一个mock函数?

rnmwe5a2

rnmwe5a21#

我想您已经在应用程序中实现了Logger
下面是一个示例

相关问题