[解決済み] Jest + Vuejsでwindow.location.hrefをモックするには?
2022-07-31 20:12:15
質問
現在、私はプロジェクトのためにユニットテストを実装しており、以下のようなファイルがあります。
window.location.href
.
これをモック化してテストしたいので、サンプルコードを示します。
it("method A should work correctly", () => {
const url = "http://dummy.com";
Object.defineProperty(window.location, "href", {
value: url,
writable: true
});
const data = {
id: "123",
name: null
};
window.location.href = url;
wrapper.vm.methodA(data);
expect(window.location.href).toEqual(url);
});
でも、こんなエラーが出ます。
TypeError: Cannot redefine property: href
at Function.defineProperty (<anonymous>)
いくつかの解決策を試しましたが、解決に至りません。私はこのトラブルから抜け出すためにいくつかのヒントが必要です。Plz help.
どのように解決するのですか?
試してみてください。
global.window = Object.create(window);
const url = "http://dummy.com";
Object.defineProperty(window, 'location', {
value: {
href: url
}
});
expect(window.location.href).toEqual(url);
その問題については、Jest Issueを見てください。
Jest Issue(ジェスト・イシュー
関連
-
[解決済み] Jestを使用して単一のテストを実行するにはどうすればよいですか?
-
[解決済み] Jestを使用して1つのファイルをテストするにはどうすればよいですか?
-
[解決済み] vuepress2: Vueインスタンスを取得し、サードパーティのVueプラグインを使用できるようにするには?
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Mockitoでvoidメソッドをモックする方法
-
[解決済み] Jestの'it'と'test'の違いは何ですか?
-
[解決済み] Jestを使用してES6モジュールのインポートをモックするにはどうすればよいですか?
-
vue springboot reports error DOMException: XMLHttpRequest'の'send'の実行に失敗しました。ロードに失敗しました
-
[解決済み】JestでESLintを使用する方法
-
[解決済み】Vue.jsの別ページへのリダイレクトについて
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] npm run dev」「npm run watch」はどのようなスクリプトですか?
-
[解決済み] Vue 2.0でコンポーネント自身を削除する方法
-
[解決済み] Laravel Spark v4.0.9で「Vue packages version mismatch」エラーを修正するにはどうすればいいですか?
-
Vue.js学习的第一天
-
Vueプロジェクトのビルド共通設定ファイル、request.jsとvue.config.js
-
[解決済み] Nuxt.jsで "window is not defined "と表示される。
-
[解決済み] vuepress2: Vueインスタンスを取得し、サードパーティのVueプラグインを使用できるようにするには?
-
[解決済み】Vue.jsでv-onにイベントと引数を渡す。
-
[解決済み] Vue.js:各コンポーネントインスタンスにユニークなIDを設定するには?
-
[解決済み] Vueの「エクスポートデフォルト」と「新しいVue」の比較