10

AngularJSを使用してシングルページアプリをビルドしているときに、Jasmineテストをビルドに統合しようとしています。

以前、Maven Jasmineプラグインを使用して同様のことを行いましたが、Jasmineテストを実行するためだけにプロジェクトをMavenでラップするのは好きではありません。どういうわけか、これにカルマ(以前はテスタキュラー)を使用する方がクリーンなようです。

シェルコマンドから実行できるのは快適です。その後、Bambooからコマンドを実行できると思います。

私の質問:

  • 私は正しい方向に進んでいますか?
  • スクリプトからのビルドを失敗させるにはどうすればよいですか、またはBambooはKarma出力を自動的に認識しますか?
4

1 に答える 1

8

素晴らしい質問です。testacular.conf.js が、Bamboo による消費のために junit xml を出力するように構成されていることを確認してください。

junitReporter = {
  // will be resolved to basePath (in the same way as files/exclude patterns)
  outputFile: 'test-results.xml'
};

Testacular は、多くのブラウザーに対して実行するように構成でき、Chrome を使用するように事前構成されています。単体テストを行うために、PhantomJS でヘッドレス化を開始することを選択しました。Testacular にはすでにジャスミンが入っています。

CI については、

// Continuous Integration mode
// if true, it capture browsers, run tests and exit
singleRun = true;

Ant を頻繁に使用している場合 (私たちも使用しています)、自分が知っていることだけに固執したい場合もあります。そのため、ANT、Windows、および NodeJS モジュールをチェックアウトすることをお勧めします。ノードモジュールを実行します (つまり、testacular)。

Windowsでtestacularを実行している場合、testacularのnpmインストールがhiredisモジュールで失敗することに注意してください。これは、* nixフレンドリーなようです。したがって、それがなくても問題なく動作します。

このすべてが機能することを証明するのに数時間かかりました。お役に立てれば

――段

于 2012-10-30T16:10:39.847 に答える