0

TeamCityを使用して各ビルドで自動統合テストを実行するにはどうすればよいですか?

通常、次の手順があります。

  1. コードリポジトリからのチェックアウト。
  2. 建てる;
  3. 配備;
  4. サーバーを起動します。
  5. サーバーでテストを実行します。

問題は、これらのステップが互いに依存していることです。手順4まではすべて正常に機能します。ここでサーバーを起動しますが、手順4が終了するまで手順5に進みません。ただし、手順4が終了するとサーバーが停止するため、手順5のテストでは作業するサーバーがありません。

私が考えた唯一の回避策は、かなり奇妙で醜いです(そしてそれが実際に機能するかどうかはわかりません):最初は2分間待つことになっているデーモンスレッドで最初にテストをトリガーします(サーバーに始める); スレッドはデーモンスレッドであるため、JVMは停止でき、スレッドがテストのトリガーを続行している間も停止できます。この後、サーバーを起動する次のステップに進むことができ、サーバーが開始されるまで、タイマーが切れてテストがトリガーされます。

4

1 に答える 1

1

「サーバーの起動」が何を意味するかによって異なります。これを正確に行いますが、「サーバーの起動」を実際にサーバーを起動するものとして扱います。サーバーが完全に機能すると、ステップは終了します。次に、ステップ 6 の「サーバーの停止」を追加します。ステップ 5 では、TeamCity の NUnit ランナーを使用してテストを実行します。それはうまくいきます。

于 2013-01-15T23:23:22.780 に答える