IntelliJ-Ideaを使用してJavaデーモンを作成しています。JUnitを使用してコードの単体テストを行い、Subversionへのチェックイン時に自動実行を実行したいと考えています。
単体テストを自動的に実行し、レポートを電子メールやHobbitに送信できるツールはありますか?
IntelliJ-Ideaを使用してJavaデーモンを作成しています。JUnitを使用してコードの単体テストを行い、Subversionへのチェックイン時に自動実行を実行したいと考えています。
単体テストを自動的に実行し、レポートを電子メールやHobbitに送信できるツールはありますか?
継続的インテグレーションサーバーとしてHudsonを使用します。特定の間隔でSCMをポーリングし、それらに対してAntタスクを実行するようにジョブを設定できます。SVNの新しい変更が検出されたときにビルドとテストのターゲットを実行し、ビルドまたはテストのターゲットが失敗した場合にプロジェクトに関係する人にメールを送信するように設定しました。
他の人が示唆しているように、継続的インテグレーションを検討する必要があると思います。私は個人的にCruiseControlとHudsonを試しましたが、Hudsonを好みます。ダウンロードして実行するだけで、気に入ったかどうかを確認できます。設定は簡単です。
MavenとAntを使用する場合はサポートが組み込まれていますが、使用しない場合は、独自のバッチファイル/シェルスクリプトを作成するだけです。
継続的インテグレーションがオプションでない場合は、Subversionのコミット後フックの使用を調べることができます(http://svnbook.red-bean.com/en/1.0/svn-book.html#svn-ch-5- sect-2.1)。私はあなたが説明した目的のためにフックを使用した経験がないので、ここで多くの助けを提供することはできません。
すべての Java プロジェクトで TeamCity を使用しています。ほとんどの場合、maven で junit を使用し、TeamCity には既に maven2 ランナーがあるため、新しいビルド タスクのセットアップは簡単です。
TeamCity に svn トランクの場所を伝え、ランナーを選択します。
すでに IntelliJ を使用している場合は、TeamCity 用のプラグインがあるため、コミット時にテストが成功した場合に即座にフィードバックを得ることができます。本当に怠け者なら、コミットを行うときにリモート実行を選択し、「テストに合格した場合のみコミットする」を選択できます。
そして最後の注意点として。TeamCity は、Java テストを実行するだけに限定されません。これを使用して、Python 単体テストも実行します。
CruiseControlを使用して、プロジェクトを自動的にビルドし、変更がSubversionにコミットされるたびに単体テストを実行します。ビルド/単体テストが失敗した場合に電子メール通知を送信するように構成できます。
Hobbitについてはよくわかりませんが、TeamCityはもう1つの優れた継続的インテグレーションサーバーです。Subversionコミットで実行するように構成でき、適切なIntelliJプラグインがあります。メールも送信します。