[解決済み] クロームの拡張機能をテストするには?
2022-04-22 13:26:45
質問
良い方法はないでしょうか?私は、コンテンツスクリプトとしてウェブサイトと対話し、localstorageを使用してデータを保存する拡張機能を書いています。この動作をテストするために使用できるツール、フレームワークなどはありますか?javascriptをテストするための一般的なツールがあることは承知していますが、それらは拡張機能をテストするのに十分な力があるのでしょうか?ユニットテストが最も重要ですが、私は他のタイプのテスト(統合テストなど)にも興味があります。
どのように解決するのですか?
はい、既存のフレームワークがかなり有効です。
最近、私はすべてのテストを、アプリケーションに埋め込まれた、物理的にタイプしない限り到達できない "テスト" ページに置きました。
例えば、私はすべてのテストをあるページにおいて
chrome-extension://asdasdasdasdad/unittests.html
テストは
localStorage
などがあります。 コンテンツスクリプトへのアクセスについては、理論的にはテストページに IFRAME を埋め込んでテストすることができますが、これらはより統合レベルのテストであり、ユニットテストでは実際のページから抽象化して、それに依存しないようにすることが必要です。
ページを直接テストしたい場合は、新しいタブを開くように拡張機能をオーケストレーションすることができます (chrome.tab.create({"url" : "someurl"})。 新しいタブごとにコンテンツスクリプトが実行され、テストフレームワークを使用して、コードが実行すべきことを行ったかどうかをチェックすることができます。
関連
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Chromeの同一生成元ポリシーを無効にする
-
[解決済み] ウェブサイト制作のためのChromeキャッシュの無効化
-
[解決済み] Firefox または Chrome ブラウザから HTTP POST リクエストを手動で送信する方法
-
[解決済み] Chromeを使用してASP.NET Web APIがXMLの代わりにJSONを返すようにするにはどうすればよいですか?
-
[解決済み] Pythonの関数が例外を投げるかどうかをテストするにはどうすればよいですか?
-
[解決済み] ユニットテストとインテグレーションテストの違いは何ですか?[重複あり]
-
[解決済み】自己署名付きlocalhost証明書をChromeが受け入れるようにする方法
-
[解決済み] Visual Studio 2015または2017でユニットテストが検出されない
-
[解決済み] Enzyme - How to access and set <input> value?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] mockitoのwhen()呼び出しはどのように動作するのですか?
-
[解決済み] ユニットテストは努力に値するか?[クローズド]
-
[解決済み] ユニットテストとインテグレーションテストの違いは何ですか?[重複あり]
-
[解決済み] NUnit vs. MbUnit vs. MSTest vs. xUnit.net [終了しました。]
-
[解決済み】mochaのテスト用ディレクトリを指定するには?
-
[解決済み】Angular 2 Unit Tests。名前 'describe' が見つからない
-
[解決済み] GUIをユニットテストするにはどうしたらいいですか?
-
[解決済み】ユニットテストについて語るときの「DAMP not DRY」の意味とは?
-
[解決済み] Junit: 統合テストと単体テストの分割
-
[解決済み] TDDとBDDの主な違いは何ですか?[クローズド]