[英]How to mock ResizeObserver polyfill in angular, when doing unit tests with jest?
[英]How to correctly mock the library “Twemoji” when running unit tests in angular + jest?
我的目標是在我的 Angular 應用程序中開玩笑地運行單元測試,而不是:
error TS2304: Cannot find name 'twemoji'
Twemoji已添加到項目package.json
和angular.json
文件,scripts71 部分。 它在運行和構建應用程序時運行良好,但在運行單元測試時失敗並出現上述錯誤。
我試過的
我嘗試將以下內容添加到我的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。 我似乎有一些不一致的行為,因為它有時似乎有效? 期待解決方案/解釋:)
想法:
src/typings.d.ts
應該可以工作。 它是否包含在編譯過程中? 它是否列在您的測試 tsconfig files
或include
部分中? 您可以檢查它運行tsc --project=tsconfig.spec.json --outDir=output --listFiles
typings.d.ts
中的代碼更改為: declare module 'twemoji' {
export function parse(str: string, options?: { folder: string; ext: string }): string;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.