2012-03-30 7 views
7

私は、CIのチームシップを通じてセットアップしているプロジェクトがあります。 プロジェクト自体はnodejsアプリケーションであり、mochaで書かれたテストが含まれています。これはjscoverageでカバーしています。私が設定しているビルド設定では、チェックイン時に発生する3つのビルドステップ があります。私は カバーだ私のプロジェクトのフォルダに対してTeamCityビルドをMochaで設定する方法は?

  1. コールjscoverage.exe。

  2. コールモカは、後で参照するために、パブリックWebディレクトリ へのhtml-COVレポーター

  3. 移動するためのステップ1 と出力から生成されたcoverage.htmlレポートをjscoveredファイルに対してテストを実行します。

ビルドは現在、ステップ2に失敗し

: モカ」は、ディレクトリCには存在しません:\ NodeJS \ MeasuresAPI

私はシステム環境でのモカとすべての私のノードパッケージを含めるようにしてください行いましたパスと私はコマンドプロンプトでそれらにアクセスできますが、TeamCity does notはそれらを見るように見えます。 mochaがインストールされているグローバルインストール:それは私にエラーを与える:

"..\node_modules\mocha\bin\mocha" (in directory "C:\NodeJS\MeasuresAPI"): CreateProcess error=193, %1 is not a valid Win32 application

誰もが彼らは素晴らしいプレーするために取得するためにチームシティーとモカとどのようにして任意の経験を持っていましたか? またはnodejs、mochaスタックとの継続的な統合のためのアイデア?私は、Windows Server上でモカを実行するために、チームシティーを設定したとき

答えて

6

はい、これは、あまりにも私に起こりました。解決策は、mocha.cmd batファイルへのパスを指定してmochaを呼び出すことでした。たとえば、フォルダCを持っている場合:\モカ\ node_modules.bin \モカ:モカ\とあなたがbatファイルへのパスよりも、 NPMはそのディレクトリにモカ

をインストールし実行してきたが

Cになります。

CMDおよびあなたはそれを次の命令を与えることによって、モカのコマンドを実行するためにチームシティーを伝えることができます。

C:\モカ\ node_modules.bin \モカ--ui TDD --reporterのhtml-COVテスト\ measureDBTests.js> coverage.html