我正在尝试找到使用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-extended
的mockDeep<T>
函数一起工作,但是无法工作。我宁愿避免拉入像Moq. ts这样的专用包。有没有一种简单的方法可以用(ts-)jest的内置工具基于这个接口创建一个mock函数?
1条答案
按热度按时间rnmwe5a21#
我想您已经在应用程序中实现了
Logger
。下面是一个示例