TeamCity と TestComplete も使用しています。私はまったく同じ問題に遭遇しました.何をしようとしてもコンソールに書き込むことはできません.少なくとも私が見つけたものではありません. TestComplete で CLR ブリッジを使用して対話する C# アプリを作成しようとしましたが、それでも何もしませんでした。
最終的に行ったことは、TestExecute 呼び出しを処理するバッチ ファイルを作成することでした。次に、TeamCity からバッチ ファイルを呼び出します。TestExecute を呼び出すには、これを使用します (テストに固有の pjs ファイルと /p を使用):
start /wait TestExecute "{TestCaseID}.pjs" /r /e /p:"{TestCaseID}" /silentmode /forceconversion
次に、TestExecute によって返される ERRORLEVEL プロパティを確認します。レベル 2 は、テストの実行が失敗したことを意味します。その場合、echo ステートメントを使用して以下を出力します。
##teamcity[testFailed name='{TestCaseID} - {TestName}' message='TestExecute reported a failure' details='See artifacts']
TestExecute が閉じた後、ログ ファイルを開こうとします。mht ファイルは開くのに時間がかかるため、電卓で開くようにビルド サーバーを設定しています (Windows の右クリック -> [プログラムから開く] メニューで既定値として設定します)。したがって、TestExecute が完了すると、電卓が開き、バッチ ファイルは taskkill を使用して電卓を強制終了します。
次に、結果ファイルを TestExecute から指定された場所にコピーします (これは、作成した別の実行可能ファイルです)。テストの実行を終了し、アーティファクトを TestExecute に発行します。
echo ##teamcity[testFinished name='{TestCaseID} - {TestName}' duration='%milliSecondsElapsed%']
echo ##teamcity[publishArtifacts 'C:\BuildResults\{GroupName}\{TestCaseID}\*.mht']
注意すべき点: TestExecute で一度に 1 つのテストを確実に実行することはできなかったので、実際にはテスト ケースのリストを使用して、テスト ケースごとに個別の pjs ファイルと mds ファイルを生成します。次に、生成された pjs および mds ファイルを TestExecute で使用します。これが、上記の {GroupName}、{TestCaseID}、および {TestName} 変数の由来です。これらは実装に固有のものですが、別のインジケーターが必要になる場合があります。
お役に立てれば!