2011-03-15 9 views
4

ユニットテストプロジェクトを.NET 3.5から.NET 4.0にアップグレードしました。また、NUnitを2.5.2から2.59にアップグレードしました。今すぐユニットテストは約15分で完了するまでに50分後にタイムアウトします。これらのテストは、開発チームのJetBrains TeamCity 6.0.2で実行されます。誰もがこれを引き起こす可能性があることを知っている?いくつかの個別テストでは最大8分かかります。アップグレード後、ユニットテストは15分で終了してから1時間後にタイムアウトします

おかげで、

ジェイソン

+2

私の最初のステップは、デバッガでテストを実行し、実行がストールしているという大まかなアイデアを得るためにしばらくの間、一時停止することです。 –

+1

テスト実行中にNUnitテストランナーで統計プロファイラを実行することができます。それを20分間実行し、テストランナーを殺す。私はNprof(http://code.google.com/p/nprof/)を使用していますが残念ながらこれ以上メンテナンスされていませんが、.NET 4でも動作するかどうかはわかりません。 –

+0

テストはあなたのローカルの開発ボックスで(.net 4.0で)正しく実行されますか?私はあなたのテストサーバにインストールされていないと思うでしょう。たぶん、報告されていない例外がありますか? – TheSean

答えて

0

まあ、私はそれを考え出しました。我々のドメインオブジェクトクラスには、パブリックプロパティに関するバリデータ(MSエンタープライズライブラリ)がある場所がありました。バリデーターは、プロジェクトのリソースファイルのキーを参照していました。バリデーターには存在しないリソースキーがありました。これはユニットテストのタイムアウトを引き起こしたエラーを引き起こしていました。私は.NET 4.0がより厳しくなっていると思う。みんなのおかげでありがとう。 - Jason -

+0

TeamCityユニットのテストタイムアウトをデバッグする最善の方法は、ビルドサーバにリモートで接続し、同じユニットテストを実行することです。おそらく、あなたの場合のように、TeamCityが検出できないエラーがあります。 – Keith

関連する問題