17

自動化されたテスト スイートで VS 2008 Team System を使用しています。テストを実行すると、テスト ホストが「ランダムに」ロックされます。実際には、VSTestHost プロセスを強制終了し、テストを再実行して何かを実行する必要があります。そうしないと、すべてのテストが「保留」状態になります。

誰かが同様の動作を経験し、修正を知っていますか? ここには、同じ動作を経験している 3 人の開発者がいます。

4

3 に答える 3

4

これは、コンピューター名が大文字でない限り、単体テストがハングする原因となるあいまいなバグに関連している可能性があります。クレイジー、私は知っています-しかし、私はこの問題を抱えていて、修正は私のために働きました。

MSConnectのバグレポートMSConnectTFSブログの
回避策この問題に関する記事レジストリを編集してコンピュータ名を変更する方法

最も簡単なアプローチは、レジストリを微調整することです。2つのキーを編集する必要があります。

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ActiveComputerName
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ComputerName\ComputerName

値ComputerNameを両方のキーで大文字に変更し、再起動します。その後、テストは魔法のように機能します。

于 2009-05-20T14:45:04.667 に答える
2

ロックアップと言うのは、VS が実際にハングしたということですか、それともテストが実行されていないということですか?

何が起こっているのかを追跡する最も簡単な方法は、ハングしたプロセスのダンプを調べることです。Vista を使用している場合は、プロセスを右クリックして、メモリ ダンプの作成を選択します。Windows XP を使用していて、Windows 用のデバッグ ツールがインストールされていない場合は、ntsd.exe を使用してメモリ ダンプを取得できます。プロセス ID が必要になります。プロセス ID は、[プロセス] タブの表示に PID 列を追加することで、タスク マネージャーから取得できます。

それができたら、次のコマンドを実行します。

ntsd -p <PID>
.dump C:\mydump.dmp

次に、 WinDBG と SOSを使用してそのダンプを検査するか、ダンプをどこかに投稿できる場合は、喜んで見てみましょう。

いずれにしても、約 1 分間隔で 2 つのダンプを取得する必要があります。そうすれば、!runaway などを実行すると、どのスレッドが機能しているかを確認でき、ハングしている理由を突き止めるのに役立ちます。

もう 1 つの質問 - VS2008 SP1 を使用していますか?

于 2008-09-09T01:10:12.423 に答える
2

MSTest.exeを使用して、コマンド ラインからテストを実行してみます。これにより、問題を Visual Studio に切り分けることができ、少なくともテストを正常に実行する方法が得られます。

于 2008-09-09T01:54:03.410 に答える