gpt4 book ai didi

angular - 在 Angular + Jest 中运行单元测试时如何正确模拟库 "Twemoji"?

转载 作者:行者123 更新时间:2023-12-03 01:52:24 25 4
gpt4 key购买 nike

我的目标是在我的 Angular 应用程序中用 Jest 运行单元测试,而不需要:

error TS2304: Cannot find name 'twemoji'

Twemoji添加到项目 package.jsonangular.json 文件的脚本部分。它在运行和构建应用程序时完美运行,但在运行单元测试时失败并出现上述错误。

我尝试过的

我尝试将以下内容添加到我的 src/jestGlobalMocks.ts 文件中:

declare var twemoji: {
parse(str: string, options?: { folder: string; ext: string }): string;
};
Object.defineProperty(window, 'twemoji', {
value: {
parse: str => str,
},
});

src/typings.d.ts:

declare var twemoji: {
parse(str: string, options?: { folder: string; ext: string }): string;
};

但这似乎并不能解决问题,因为我仍然收到错误 TS2304。我似乎得到了一些不一致的行为,因为它有时似乎有效?期待解决方案/解释:)

最佳答案

想法:

  1. 尝试安装types for twemoji
  2. 基本上src/typings.d.ts应该管用。它包含在编译过程中吗?它是否列在您的测试 tsconfig files 中或include部分?您可以检查它正在运行 tsc --project=tsconfig.spec.json --outDir=output --listFiles
  3. 尝试更改 typings.d.ts 中的代码对此:
    declare module 'twemoji' {
export function parse(str: string, options?: { folder: string; ext: string }): string;
}

关于angular - 在 Angular + Jest 中运行单元测试时如何正确模拟库 "Twemoji"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58859023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com