17

リッチ Web クライアントがあります。コントローラーとサービス ファサードは、coffeescript (JavaScript) と jquery で記述されています。以前は Java でした。

Jenkins/Hudson から JavaScript jasmine テストを実行するには、java の junit と htmlunit を使用して、jasmine 仕様を含むテスト指向の jsp ページを読み込みます。

Htmlunit を実行しようとすると、getPage() を実行しようとすると失敗します。これはおそらく、私たちの世界では追跡が非常に困難な XML パーサー クラス パスが原因です。

Jenkins から JavaScript テストを実行し、JavaScript テストがパスしなかった場合に失敗を報告できるようにしたいだけです。JavaScript テストを実行するために、jsp と htmlunit を使用しているだけです。Jenkins を開始点として、JavaScript テストと JavaScript コードを JavaScript エンジンにロードできますか? もしそうなら、どのように?

4

5 に答える 5

14

Java環境にいるようです。私のjasmine-maven-pluginがぴったりかもしれません。

于 2011-10-10T03:23:15.110 に答える
8

Jasmine Reportersも解決策になります。たとえば、PhantomJS を介してヘッドレスで実行するための指示があり、JUnit XML を生成できるため、Jenkins はテスト結果をネイティブに理解し、テスト数、期間、および時間の経過に伴う失敗をグラフ化できます。

また、xvfb で提供されることが多い "xvfb-run" ラッパーは、ここで大きな助けになるので、真のヘッドレス環境で "xvfb-run phantomjs.runner.sh ..." を実行できます。

于 2013-01-22T22:14:22.243 に答える
6

以前、 jasmine-nodeという node.js プラグインを使用してテストを実行することで、この問題を解決しました。

もちろん、このソリューションでは、ジャスミン テストを適切に実行するために node.js といくつかのノード モジュールが必要です。テストを実行する実際のブラウザーはありませんが、jsdom と呼ばれるモジュールを使用してエミュレートされたブラウザーがあり、基本的にヘッドレス ブラウザー、より具体的には、テストが対話できる DOM を作成します。

jQuery、アンダースコア、およびおそらくその他のノードモジュールがあるため、これらもテストできます。ブラウザでテストを実行したい場合は、ブラウザ エミュレーション全体をスキップすることもできますが、自動化された Jenkins テストに比べて面倒すぎると思います。

jasmine-node は jUnit テスト レポートを生成しますが、これは Jenkins が問題なく解釈できます。

このプロセスを容易にするjenkins-jasmine-nodeプラグインがあることに気付きました。

于 2012-06-29T06:43:26.627 に答える
1

グラントはあなたの友達です

このセットアップを取得しましたが、これは非常に優れています。さらに、これにより、ビルド サーバーで展開、単体テストなどのその他の優れた機能を実行できるようになります。その他の優れた機能

于 2014-02-25T14:44:04.130 に答える
0

セレンは使えますか?それは実際に実際のブラウザを使用し、可能な限り実際の環境に近づきます。

于 2011-10-03T13:10:49.783 に答える