問題タブ [jasmine-maven-plugin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - Jasmine を介してテストするときに RequireJS モジュール shim が機能しない
RequireJS を使用していくつかのサードパーティ フレームワークをロードするJavaEEプロジェクトがあります。それらのフレームワークの 1 つが OpenLayers3 です。Openlayers3 は、グローバルな「ol」変数をネイティブに作成します。ただし、OpenLayers3 は AMD と互換性があるように作成されており、RequireJS を介してモジュールとして機能します。AMD用に最適化されていない「olLayerSwitcher」と呼ばれるOpenLayers3プラグインも使用しています。代わりに、「ol」変数がグローバルであることに依存します。
私の必要な設定は次のようになります:
このプロジェクトは Backbone を使用しており、Router モジュール (/src/main/webapp/js/controller/AppRouter.js) が含まれています。
Router モジュールは、View モジュール (/src/main/webapp/js/views/MapView.js) に依存します。
View モジュールは、OpenLayers3 とサードパーティの OpenLayers プラグインの両方を取り込もうとします。
プロジェクトをビルドしてデプロイすると、ブラウザーで正常に動作します。View モジュールが読み込まれると、OpenLayers とサードパーティのプラグインが適切に取り込まれ、すべてが適切にレンダリングされます。
ただし、ジャスミンでこれをテストしようとすると、すべてが崩壊します。
Jasmine の場合、Jasmine-Maven プラグインを使用しています。JasmineJS、PhantomJS、RequireJS をライブラリと共に取り込み、スペックを実行します。問題は、Jasmine 経由で実行すると、MapView モジュールが OpenLayers3 ライブラリとサード パーティのプラグイン (olLayerSwitcher) の両方を読み込もうとするが、サード パーティのプラグインが「ol」を見つけられないために失敗することです。
テスト:
ジャスミンからのエラー:
9 行目の ol3-layerswitcher プラグインの関連セクションは次のとおりです。
したがって、この時点で「ol」が問題であるかどうかに依存します。
Jasmine-Maven プラグインは独自のスペック ランナー HTML を作成し、関連する部分は次のようになります。
顧客の HTML ランナーを作成することはできますが、何が問題なのかわからないため、何を変更する必要があるのかわかりません。
これは、ブラウザーでテストを読み込むことができ、同じ問題が発生しているため、PhantomJS の問題ではないようです。
ここで何が起こっているのかについて誰かが何か考えを持っていれば幸いです。ジャスミンのテストはこれを完全に実装する最後の行程であり、私はここで完全に立ち往生しているため、サードパーティのモジュールをハックして RequireJS モジュールに変換したくありません。
Jasmine 2.3.0 と RequireJS 2.1.18 を使用しています
これ以上リンクできなくて申し訳ありませんが、これは新しいアカウントであり、十分な担当者がいません。
selenium - Edge の Selenium Automation テストの実行中に MicrosoftWebDriver Server for Edge が応答しない
Jasmine maven プラグインを使用して、Microsoft Edge ブラウザーのセレン Web テストを実行しようとしています。必要なすべての jar (Selenium エッジ ドライバー) と MicrosoftWebDriver for Edge が配置されています。ただし、テストの実行中にタイムアウトが発生します。以下はスタックトレースです。
テストの実行中に、Edge ブラウザーが正常に起動され、セッションが開始されます。ただし、いくつかのリクエストが行われた後、タイムアウト例外がスローされます。そのため、webdriver サーバーが期待どおりに応答していないと推測しています。以下は、サーバーの起動のトレースです。
Selenium エッジ ドライバーとその依存関係は最新のものです。この問題を解決するための助けをいただければ幸いです。事前にサンクス。
maven - 現在のプロジェクトで接頭辞「ジャスミン」のプラグインが見つかりません
No plugin found for prefix 'jasmine' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] リポジトリ [ローカル (/Users/patthia/.m2/repository) から入手可能)、セントラル ( http://repo1.maven.org/maven2/ )、sonatype-releases ( http://oss.sonatype.org/content/repositories/releases )、clojars.org ( http://clojars.org /repo )、実行時のエラー
私のプロジェクトで。このコマンドを実行している間、私は正しいフォルダーにいます。プラグインの依存関係と構成を確認しました。これが私の pom.xml のプラグイン構成です
maven - Jasmine maven プラグイン解析テスト結果 Atlassian Bamboo
だから私は、jasmine maven プラグインを maven と私たちの js 単体テストで動作させることができました。
すべて正常に動作していますが、失敗したテストがある場合、Bamboo は失敗したと表示しますが、エラーは「失敗したテストは見つかりませんでした。コンパイル エラーが発生した可能性があります」です。
JUnitパーサーが必要とするフォルダーを具体的に指定してTEST-jasmine.xmlの結果を解析し、pom.xmlのjasmineTargetDirタグを使用してジャスミンにそのフォルダーに書き込むようにしようとしましたが、まだ正しい結果が見つかりません。Jasmine は忠実にテスト結果をフォルダーに書き込みますが、どうやら JUnit はそれを解析していませんか?
問題を解決する理由と方法についての手がかりはありますか?
selenium - jasmine-maven-plugin で WebDriverManager を使用して Chrome ヘッドレスを使用する
javascript テストを実行するために jasmine-maven-plugin で構成された Maven プロジェクトがあります。ドライバーのパス実行可能ファイルをダウンロードして設定せずに、Phantomjs から Chrome ヘッドレスに切り替えたいです。WebDriverManager が役立つことがわかりましたが、次のクラスでプログラムによってダウンロードを開始できるようです。
ドライバーを使用するように pom.xml を構成しました (ここで説明したように)。webdriver.chrome.driver プロパティを構成せずに、WebDriverManager を使用して ChromeDriver のダウンロードを処理するように pom.xml を構成することは可能ですか?
別の jasmine のスペック ランナー テンプレートを使用することも考えましたが、単純なStringTemplate文字列にすぎないようです。
ありがとう!