2

2 つのビルド構成でセットアップされた TeamCity プロジェクトがあります。1 つは 3 分ごとに連続して実行されます。もう 1 つは毎正時に実行されます。継続的なビルドを分割するまで、これらは 1 つの構成でした。どちらの構成にも 2 つのビルド ステップがあります。1 つ目はソリューションをビルドし、2 つ目は MsTest を使用して単体テストを実行します。

2 つの構成に分割する前に、MsTest ビルド ステップは属性 [Category("Unit")] を使用してすべてのテストを実行しました。MsTest ビルド ステップの「追加のコマンド ライン パラメーター」の値は「/category:unit」でした。2 つの構成間で 2 種類のテストを分割するために、新しいテスト属性カテゴリ「統合」を作成しました。時間単位のビルド構成は、「/category:integration」の「追加のコマンド ライン パラメーター」値を使用することを目的としています。

残念ながら、1 時間ごとのビルド構成では、実行するテストが見つかりません。コマンド ライン パラメーターに "unit"、"integration"、またはその両方 ("unit|integration") が含まれているかどうかは問題ではありません。一方、継続的なビルドは、コマンド ライン パラメーターに含まれるカテゴリに対応するテストを見つけて実行します。1 時間ごとのビルド ログには、次の出力が含まれます。

[14:48:07]Step 2/2: Test Solution Hourly (MSTest) (29s)
[14:48:07][Step 2/2] Starting: C:\TeamCity\buildAgent\plugins\dotnetPlugin\bin\JetBrains.BuildServer.NUnitLauncher.exe #TeamCityImplicit
[14:48:07][Step 2/2] in directory: D:\TeamCity\buildAgent\work\23f125e3a59e551a
[14:48:11][Step 2/2] No assemblies, run configuration and test metadata were found

2 つのビルド構成は、ビルドのトリガーを除いてすべての点で同一です。デフォルトのチェックアウト ディレクトリと作業ディレクトリ、および同じビルド構成パラメーターを使用します。両方に同じ作業ディレクトリが作成されます。それらの間に依存関係はありません。これらは同じエージェントで実行されます。

私の質問は次のとおりです。時間ごとの構成でテストが見つからないのはなぜですか?

4

1 に答える 1

1

テストパターンは2つのビルドステップ間で同じであるとおっしゃっていましたが、再確認してください。これには、検索パターンエラーのすべての特徴があります。

TeamCityが実際にログ内のテストアセンブリの検索パターンをエコーし​​た場合は便利ですが、そうでないため、パスのスラッシュを誤って省略してしまう可能性があります。特に、パラメーター化されたパスを使用している場合はそうです。パーセント記号の間のスラッシュを失うのは簡単です。

于 2012-06-04T16:16:42.960 に答える