首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在我的jest测试中模拟google-apps-script接口,比如Logger/DataStudio?

如何在我的jest测试中模拟google-apps-script接口,比如Logger/DataStudio?
EN

Stack Overflow用户
提问于 2020-01-15 20:19:29
回答 1查看 402关注 0票数 1

我正在尝试测试我们的DataStudio代码(在Typescript中),它使用了google-apps-script库中的某些接口,例如LoggerDataStudio接口。这些文件驻留在.d.ts文件中,所以我不能轻松地导入它们。下面是在google-apps-script.base.d.ts文件中定义Logger的方式:

代码语言:javascript
运行
复制
/// <reference path="google-apps-script.types.d.ts" />

declare namespace GoogleAppsScript {
  export module Base {
  [...]
    export interface Logger {
      clear(): void;
      getLog(): string;
      log(data: Object): Logger;
      log(format: string, ...values: Object[]): Logger;
    }
  }
}
declare var Logger: GoogleAppsScript.Base.Logger;

我正在使用这些接口的函数上运行jest测试,但是我接收到了例如Logger is not defined,所以我需要以某种方式模拟这些接口。

有人知道如何导入这些接口以便模拟它们吗?谢谢你的帮助!

EN

回答 1

Stack Overflow用户

发布于 2020-02-05 07:42:23

参见Mocking globals in Jest。例如,要模拟控制台,您可以在测试文件的顶部包含以下内容:

代码语言:javascript
运行
复制
global.Logger = jest.fn(console.log)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59751316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档