2008-09-08 2 views
17

자동화 된 테스트 제품군과 함께 VS 2008 Team System을 사용하고 테스트를 실행하면 테스트 호스트가 "임의로"잠김 상태가됩니다. 실제로 VSTestHost 프로세스를 종료하고 테스트를 다시 실행하여 무언가를 얻으십시오. 그렇지 않으면 모든 테스트가 "보류 중"상태가됩니다.테스트 실행시 Visual Studio 2008이 "임의"로 실행됩니다.

비슷한 행동을 경험하고 수정 사항을 알고있는 사람이 있습니까? 여기에는 3 명의 개발자가 동일한 동작을 경험하고 있습니다.

+0

이 broccy에 대한 수정 사항을 찾으셨습니까? – Burt

+0

새 데스크톱에서 사라졌습니다. – programmer

+0

오늘도 그 문제를 실행했습니다. VSTestHost.exe가 100 %로 중단되면이 BugFix를 시도하십시오. http://stackoverflow.com/questions/1417021/vs2008-unit-test-pending-and-the-test-cannot-be-completed/1417154 –

답변

2

자물쇠를 말하면 실제로 VS가 매달렸거나 테스트가 실행되지 않는다는 것을 의미합니까?

무슨 일이 벌어지고 있는지 추적하는 가장 쉬운 방법은 매달린 프로세스의 덤프를 보는 것입니다. Vista를 사용중인 경우 프로세스를 마우스 오른쪽 버튼으로 클릭하고 메모리 덤프를 만들도록 선택하십시오. Windows XP에서 Debugging Tools for Windows이 설치되어 있지 않으면 ntsd.exe를 사용하여 메모리 덤프를 얻을 수 있습니다. 프로세스 ID가 필요합니다.이 ID는 프로세스 탭 디스플레이에 PID 열을 추가하여 작업 관리자에서 가져올 수 있습니다.

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

당신은 다음 WinDBG and SOS을 사용하여 해당 덤프를 검사 할 수 있습니다 또는 덤프를 게시 할 수 있다면 어딘가에 나는 그것을 살펴 드리겠습니다 :

당신이이 있으면, 다음 명령을 실행합니다.

어쨌든 1 분 간격으로 두 번 덤프하는 것이 좋습니다. 그런 식으로! 가출과 같은 일을하면 어떤 스레드가 작동하고 있는지 파악할 수 있습니다. 그러면 스레드가 왜 걸려 있는지 추적 할 수 있습니다.

다른 질문이 하나 있습니다. VS2008 SP1을 사용하고 있습니까?

2

MSTest.exe을 사용하여 명령 줄에서 테스트를 실행 해 봅니다. 이렇게하면 Visual Studio로 문제를 격리하고 적어도 테스트를 성공적으로 실행할 수있는 방법을 제공 할 수 있습니다.

+0

이 문제가 있습니다. VS2010에서. 명령 줄에서 작동하지만 VS에서는 작동하지 않습니다. –

4

컴퓨터 이름이 대문자가 아닌 경우 단위 테스트가 중단되는 알려지지 않은 버그와 관련이있을 수 있습니다. 미친, 나도 알아 -하지만이 문제가 있었고 수정 프로그램이 나를 위해 일했습니다. 이 문제
HowTo 편집에 대한 MS 연결
TFS Blog Article에 MS 연결
Workaround

Bug report 레지스트리

컴퓨터 이름 가장 쉬운 방법은 레지스트리를 조정할 것입니다

을 변경합니다. 다음 두 키를 편집해야합니다.

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

두 키 모두 ComputerName 값을 대문자로 변경하고 다시 시작하십시오. 테스트는 마술처럼 작동합니다.

+0

WTF? 그것은 끔찍한 일입니다. –

+1

그게 우리가 Epic Fail라고 부르는 것입니다 : D –

+0

흠 그들은 모두 나와 함께 대문자입니다. 그러나 테스트는 여전히 멈 춥니 다. –

관련 문제