2011-02-02 2 views
0

Win Mobile 5 및 6 (Professional) 에뮬레이터 모두에서 내 dev 컴퓨터에서 제대로 실행되는 유닛 테스트가 있습니다.일부 SmartDevice 단위 테스트가 하나의 시스템에서 실패하고 다른 시스템에서 실패하는 이유는 무엇입니까?

빌드 서버에서 실행되는 일부 단위 테스트는 실패하지만 Win Mobile 6 에뮬레이터에서만 실패합니다 (모든 테스트는 Win Mobile 5 에뮬레이터를 통과합니다). 같은 오류가 실패

시험 :

Test method XXXXXMobile.Test.ManifestTests.TestCrewManifest threw exception: System.MissingMethodException: Could not load type 'XXXXXMobile.Controllers.ManifestController' from assembly 'XXXXXMobile.Controllers, Version=1.0.4049.32739, Culture=neutral, PublicKeyToken=null'.. 

Test method XXXXXMobile.Test.PermissionTests.TestMenuBarPermissions threw exception: System.MissingMethodException: Method not found: op_Implicit System.Object.. 

인 테스트를 설정하는 명령 행 :

C:\hudson\jobs\XXXXX Mobile (WinMobile 6 Emulator Tests)\workspace>e:\VS9\Common 
7\IDE\MSTest.exe /runconfig:YYYY\WinMobile6Emulator.testrunConfig /testcontainer 
:YYYY\XXXXXMobile.Test\bin\Release\XXXXXMobile.Test.dll 

testrunconfig 파일이 재밌지입니다. 나는 기본값에서 변경할 수있는 유일한 일이라고 생각 : - 배포 사용 : - 호스트 유형 검사 : 스마트 장치 을 - 플랫폼 : 윈도우 모바일 6 프로페셔널 SDK - 장치 : 윈도우 모바일 6 프로페셔널 에뮬레이터

포함하는 디렉토리 테스트 실행 컨테이너 dll도 위의 첫 번째 오류에서 언급 한 컨트롤러 dll이 포함되어 있습니다.

잠시 동안 내 머리를 두드리는 소리가 들렸으니, 왜 어떤 테스트가 실패하고 오직 하나의 머신과 하나의 에뮬레이터에서만 실패했는지를 놓치고 있습니다. MSTest.exe 및 VSTestHost.exe에서 진단 로깅을 설정하여 더 이상 유용한 오류 메시지를 얻을 수 없었습니다.

감사의 말씀을드립니다.

답변

0

자주 발생하는 것처럼 질문을 한 직후 답변이 나타납니다.

이 경우 빌드 서버의 에뮬레이터에 .Net 3.5가 설치되어 있지 않은 것이 문제였습니다. VS에서 응용 프로그램을 실행하면 .Net 3.5가 설치되지만 단위 테스트는 실행되지 않습니다. dev 컴퓨터에서 이미 응용 프로그램을 실행 한 다음 상태를 저장했습니다 (실행마다 .Net 3.5를 다시 설치하지 않아도 됨). 이것은 빌드 서버에서 수행되지 않았습니다.

관련 문제