Rake
Rake ビルドランナーは、Test::Unit、Test-Spec、 Shoulda(英語)、 RSpec(英語)、 Cucumber(英語) テストフレームワークをサポートします。 Rake、0.7.3、gem 以降で Ruby バージョンマネージャー (MRI Ruby、JRuby、IronRuby、REE、MacRuby など) を使用してインストールされた Ruby インタープリターと互換性があります。
前提条件
Ruby インタープリター (MRI Ruby、JRuby、IronRuby、REE、MacRuby など) と rake 0.7.3 gem 以上 (必須)、および Ruby (または ROR) プロジェクトとテストフレームワークに必要なすべての gems が、少なくとも 1 つのビルドエージェントにインストールされていることを確認してください。 複数の Ruby インタープリターを異なるディレクトリにインストールできます。 Linux/macOS では、 RVM(英語) または rbenv (英語) を使用して構成する方が簡単です。 コマンドラインビルドランナーステップを使用して、Ruby インタープリターと必要な Ruby gems をインストールできます。 これらのインタープリターのエージェント要件を自動的に構成する場合は、ビルドエージェント構成プロパティにそのパスを登録し、 Rake ビルドランナーの構成でそのようなプロパティ名を参照する必要があります。 gem をインストールするには、次を実行します。
詳細については、 Ruby Gems マニュアル(英語)を参照できます。
gem コマンドの代わりに、 Bundler gem(英語) を使用して gems をインストールできます。
重要な注意事項
Ruby の 保留中のスペックは、 概要 タブに 無視されたテスト として表示されます。
Rake Runner は独自の単体テストランナーを使用し、
RUBYLIB環境変数を使用してそれをロードします。 プログラムがこの環境変数をクリアしないようにする必要がありますが、パスを追加することもできます。Windows OS で
--colorオプションを有効にして RSpec を実行する場合、RSpec は win32 コンソール gem をインストールすることを提案します。 この警告はビルドログに表示されますが、無視してかまいません。 TeamCity Rake ランナーはビルドログの色付き出力をサポートしておらず、この機能を使用しません。Rake Runner は、カスタムフォーマッターを使用してスペック例を実行します。 追加のコンソールフォーマッタを使用すると、ビルドログに冗長な情報が含まれます。
rakefile の
Spec::Rake::SpecTask.spec_optsは、SPEC_OPTSコマンドラインパラメーターの影響を受けます。 Rake Runner は常にSPEC_OPTSを使用してカスタムフォーマッタを設定します。 Web UI でスペックオプションを設定する必要があります。 Cucumber テストオプションにも同じ制限があります。ビルド結果に HTML レポートを含めるには、対応する レポートタブを追加します。
Rake ランナー設定
Rake パラメーター
オプション | 説明 |
|---|---|
Rakefile ファイルへのパス | デフォルトのパスを使用したくない場合は、Rakefile パスを入力します。 指定されたパスは、 ビルドチェックアウトディレクトリからの相対パスにしてください。 |
Rakefile コンテンツ | 既存の Rakefile を使用する代わりに、Rakefile のコンテンツを入力します。 Rake を実行する前に、指定されたコンテンツから新しい Rakefile が動的に作成されます。 |
作業ディレクトリ | オプション。 ビルドチェックアウトディレクトリと異なる場合に指定します。 |
Rake タスク |
|
追加の Rake コマンドラインパラメーター | 指定されたパラメーターが
ruby rake <Additional Rake command line parameters>
<TeamCity Rake Runner options, e.g TESTOPTS> <tasks>
|
Ruby インタープリター
オプション | 説明 |
|---|---|
デフォルトの Ruby を使用 | Ruby 環境コンフィギュレータービルド機能設定で定義された Ruby インタープリター設定を使用してください。そうしない場合、インタープリターは |
Ruby インタープリターパス | Ruby インタープリターへのパス。 パスを空にすることはできません。 このフィールドは、環境変数とシステム変数の値をサポートします。 例:
%\env.I_AM_DEFINED_IN_BUILDAGENT_CONFIGURATION%
|
RVM インタープリター | ここで、RVM インタープリター名と、オプションでビルドエージェントで構成された gemset を指定します。 インタープリター名は空にできません。 gemset が指定されていない場合、デフォルトのものが使用されます。 |
起動パラメーター
オプション | 説明 |
|---|---|
Bundler: バンドル exec | プロジェクトで Bundler の要件(英語)マネージャーを使用し、Rakefile がバンドラーセットアップスクリプトをロードしない場合、このオプションを使用すると、 |
デバッグ | invoke/execute ステージをトラック オプションをオンにすると、ビルドログに 呼び出すステージデータが表示されるようになります。 |
テストレポート
オプション | 説明 |
|---|---|
添付報告者 | TeamCity にテスト結果を専用の テストタブ (ビルド結果 ページ内)に表示させたい場合は、使用するテストフレームワークをここで選択します: Test::Unit、Test-Spec、Shoulda、RSpec、Cucumber。 |
既知の課題
Rake タスクまたはテストが 1 つのビルドのスコープ内で並行して実行される場合、ビルドの出力とテストの結果は不正確になります。
RVM を使用している場合は、現在の rvm SDK が設定されていないときに TeamCity エージェントを起動するか、最初に
rvm systemを呼び出すことをお勧めします。
追加のランナーオプション
これらのオプションは、 ビルドパラメーターセクションのシステムプロパティを使用して構成できます。
オプション | 説明 |
|---|---|
| Rake ビルドの起動に使用する rake gem を指定できます。 |
| アプリケーションが(Ruby sdk に)インストールされている最新以外のテストユニット gem バージョンを使用している場合は、ここで指定します。 そうしないと、Test::Unit テスト報告者が誤った gem バージョンを読み込もうとし、実行時の動作に影響を与える可能性があります。 テストユニット gem がインストールされているが、アプリケーションが Ruby 1.8.x SDK にバンドルされている Test::Unit を使用している場合は、バージョン値を「組み込み」に設定します。 |
| 指定されたバンドラー gem バージョンのバンドラーエミュレーションを起動します(gem はエージェントにすでにインストールされている必要があります。 |
| チェックアウトディレクトリのルートにない場合、Gemfile をカスタマイズします。 |
| TeamCity が |
開発リンク
Rake サポートは、オープンソースプラグインとして実装されています。 開発リンクについては、 プラグインのリポジトリ(英語)を参照してください。