[解決済み] Jest: サードパーティライブラリで使用されているコンソールをモックするには?
2022-08-15 07:55:51
質問
console.warn/errorをモック化しようとしているのですが、うまくいきません。私はその中でconsole.warnを呼び出すサードパーティ-ライブラリーを使用しています。私はそれが呼び出されたか、呼び出されなかったかをテストする必要があります。私のテストケースでは、私はconsole.warnをスタブしようとしましたが、それは役に立ちませんでした。その後、私は手動でコンソールをモックしようとしましたが、それもうまくいきませんでした。
console.warn = jest.fn();
testSchema('/app/components/Users/UserItem/UserItemContainer.js');
expect(console.warn).toBeCalled();
は動作しませんでした。
console.warn = jest.fn();
testSchema('/app/components/Users/UserItem/UserItemContainer.js');
console.warn('error');
expect(console.warn).toBeCalled();
は動作しました。
しかし、私はまだ
console.warn node_modules/babel-relay-plugin/lib/getBabelRelayPlugin.js:138
が表示されます。
どのように解決するのですか?
この場合
global
を使って、グローバルコンテキスト内のオブジェクトにアクセスすることができます。
global.console = {warn: jest.fn()}
expect(console.warn).toBeCalled()
または
jest.spyOn
に追加された
19.0.0
jest.spyOn(global.console, 'warn')
関連
-
[解決済み] Jestを使用して単一のテストを実行するにはどうすればよいですか?
-
[解決済み] Jestを使用して1つのファイルをテストするにはどうすればよいですか?
-
[解決済み] Node.jsを使うタイミングをどう判断するか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] Jestを使用してES6モジュールのインポートをモックするにはどうすればよいですか?
-
[解決済み] なぜJavaScriptでは!{}[true]がtrueに評価されるのですか?
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] 文字列がhtmlであるかどうかをチェックする
-
[解決済み] JavaScriptのArray.sort()メソッドでシャッフルするのは正しいのか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] jqueryでdivの要素がオーバーフローしていないかチェックする
-
[解決済み] モバイルWeb HTML5フレームワークの選び方【終了しました
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] コールバック地獄とは何か、RXはそれをどのように、そしてなぜ解決するのか?
-
[解決済み] moment.jsでミュータビリティを回避するには?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] jQueryを使用して、すべてのクリックイベントハンドラを削除するにはどうすればよいですか?
-
[解決済み] Node.jsのES6クラスをrequireで作る
-
[解決済み] 変異を伴わないオブジェクトからの値の削除
-
[解決済み] JavaScriptでDIVを表示・非表示にするには?