2012-10-30 6 views
10

AngularJSを使用して単一ページのアプリケーションを構築する際に、私は自分のビルドにJasmineテストを統合しようとしています。BambooのKarma(Testacular)でJasmineテストを実行するにはどうすればよいですか?

Maven Jasmineプラグインでこれまでと同様のことをしましたが、Jasmineテストを実行するために私のプロジェクトをmavenでラップするのは嫌いです。それは何とかカルマ(Testacularだった)を使う方がきれいだと思う。

私はシェルコマンドを実行するのが楽しいと思いますが、Bambooからコマンドを実行できると思います。

私の質問:

  • アムI右のトラックに?
  • スクリプトからビルドに失敗するにはどうすればよいですか、Bambooはカルマの出力を自動的に認識しますか?

答えて

8

あなたは多くのブラウザに対して実行するTestacularを設定することができますし、Chromeを使用するように事前に設定されている

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

testacular.conf.jsが竹で消費のために、出力のJUnit XMLに設定されていることを確認し、我々は、ヘッドレスを行くを開始することにしましたPhantomJSとユニットテストを行います。 Testacularはすでにジャスミンを内部に持っています。 CIのために

あなたは(そして我々が行う)Antの多くを使用している場合、我々は

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

に勧告に従っている、時にはあなただけが知っているに固執したい...あなたはANT, Windows and NodeJS Modules.をチェックアウトすることもできますので、ノードモジュール(すなわちtestacular)を実行します。

Windowsでtestacularを実行している場合、testacularのnpm installはhiredisモジュールで失敗します。これはちょうど* nixフレンドリーなようです。だから、それはそれなしではうまく動作します。

このすべてのことを証明するまでには数時間かかりました。これが役立つことを願っています

--dan

+0

共有いただきありがとうございます。私はここでコメントしたり、明確化を使用できるものがいくつか見つかったら編集します。特にjunitReporterチップは宝石です。 – iwein

関連する問題