2012-03-12 6 views
3

유닛 테스트를 클릭하고 컨텍스트 메뉴에서 "Execute test"를 클릭하십시오. 테스트 결과가 좋은 테스트를 시작하지 않습니다. 새 테스트가 표시되지 않고 마지막 테스트를 다시 시작하는 것처럼 보입니다. 내 구성이 잘못되었습니다.VS2010 유닛 테스트 실행 (버그)

누구나 같은 문제가 발생합니까?

+0

프로젝트를 정리하고 다시 작성해 보셨습니까? –

답변

0

내 정규 프로젝트에서 비슷한 버그가 발생합니다. VS의 텍스트 편집기에 열린 파일이 있고 해당 파일이 DLL 인 프로젝트 A에 속한다고 가정 해보십시오. 그런 다음 exe 인 프로젝트 B를 마우스 오른쪽 버튼으로 클릭하고 디버그 -> 새 인스턴스 시작을 선택합니다. 때로는 (항상은 아님) VS가 프로젝트 A를 시작하려고하므로 "클래스 라이브러리의 출력 유형으로 프로젝트를 시작할 수 없습니다"와 같은 오류가 발생합니다.

이 경우 프로젝트 B를 시작하는 동안 프로젝트 B의 파일을 열어 활성 파일로 유지합니다. 문제를 해결할 수 있습니다. 그러므로 실행하려는 테스트에서 파일을 열어 보면서 컨텍스트 메뉴에서 실행하면서 파일을 계속 실행하십시오. 나는이 버그가 테스트 실행에도 영향을 미치고 있다고 생각한다. 나는 버그 리포트를 제출할 것을 생각했지만, 나는 게으르다. ...

0

Visual Studio는 종종 새로운 테스트에 대해 매우 변덕 스럽다. IDE가 새 테스트를 작성할 때 선택해야하는지 여부를 결정하는 구성 설정 (도구 -> 옵션)이 있습니다. 그러나 성능이 약간 떨어지기 때문에 기본적으로 설정이 비활성화되어 있습니다.

Visual Studio는 VSDMI 파일을 사용하여 솔루션의 테스트에 대한 메타 데이터를 나타냅니다. 이 파일은 일반적으로 솔루션 전체 분석이 실행되지 않거나 새로운 테스트를 발견하지 못하는 경우에도 솔루션을 컴파일 할 때 업데이트됩니다. 이 파일이 동기화되지 않거나 실행하려는 테스트가 VSDMI에없는 경우 "현재 컨텍스트에서 테스트 실행"기능이 예상대로 작동하지 않습니다. 때로는 neaby 테스트를 실행하고 때로는 모든 테스트를 실행합니다.

해결하려면 새 테스트의 백그라운드 검색을 활성화하거나 테스트 목록 편집기보기를 열고 툴바에서 새로 고침 아이콘을 클릭하십시오. 새로 고침 아이콘은 vsdmi의 빠른 재 컴파일 및 업데이트를 강제 실행합니다.

0

테스트를 실행하기위한 컨텍스트 메뉴 옵션이 새 테스트를 추가 할 때 예상대로 작동하지 않는 경우가 있습니다. 그러나 키보드 단축키가 훨씬 잘 작동합니다. Control-R, T는 '현재 상황'에서 테스트를 실행합니다. 커서가 테스트 메소드에 있으면 해당 메소드가 실행됩니다. 테스트 클래스에 있으면 클래스의 모든 테스트를 실행합니다. 클래스 외부에 있다면 어셈블리 (또는 아마도 네임 스페이스)에서 모든 테스트를 실행한다고 생각합니다. 더 많은 단축키가 있습니다 here. Control-R, Control-T는 디버거에서 '현재 컨텍스트'테스트를 실행하므로 유용합니다.