2009-02-25 2 views
1

VS2008 유닛 테스트 프레임 워크를 사용할 때 testrunConfig에 호스트 설정 옵션이있는 것을 알 수 있습니다. "스마트 장치"에서 "기본값"으로 호스트를 변경하면 에뮬레이터에 배포하지 않고 테스트를 실행할 수있는 것처럼 보입니다.VS2008 - 에뮬레이터의 CF 라이브러리에 대한 단위 테스트 실행의 이점?

Compact Framework에서 사용하기 위해 빌드 된 라이브러리를 테스트하고 싶지만 UI와는 아무런 관련이 없습니다. 기본 호스트에서 제대로 실행되고 있습니까? 아니면 로컬 컴퓨터에서 실행되는 대 에뮬레이터에서 실행될 때 실제로 테스트가 중단되는 차이점이 있습니까? (나는 Default에서 실행하는 것이 CF .Net 라이브러리를 사용한다고 가정하고 있는데, 이는 DLL이 참조 할 라이브러리이므로?

답변

1

테스트 대상을 "Default"로 변경하면 바탕 화면에서 테스트. 문제는 테스트에 스마트 장치 테스트 어셈블리에 대한 참조가 있고 전혀 실행할 수 없다는 것입니다. 이 라인을 따라 오류가 발생합니다 : 말했다

System.ArgumentException: Object of type 
'Microsoft.VisualStudio.TestTools.TestTypes.Unit.UnitTestAdapterContext' 
cannot be converted to type 
'Microsoft.VisualStudio.TestTools.UnitTesting.TestContext' 

, 나는 어쨌든 좋은 생각이 될 것이라고 생각하지 않을 것입니다. 적절한 CF 동작을 보장하기 위해 CF에 대해 테스트를 실행하려고합니다. 바탕 화면에서 실행하는 것은 그렇게하지 않습니다. 또한 WindowsMobile 네임 스페이스 또는 P/Invoking from coredll.dll과 같이 CF 관련 항목을 사용하는 UI가 아닌 경우가 많이 있습니다.

에뮬레이터 또는 장치에 대해 실행하는 것은 느리고 실제 디버그를 수행하지만 그 값을 오프셋합니다.

+0

나는 뭔가 다른 것을해야 할 것입니까? 호스트를 기본값으로 설정하여 CF 테스트를 컴파일하고 실행할 수 있습니다. 내 테스트 프로젝트는 라이브러리의 CF 버전을 참조합니다. – Steve

+0

아주 이상합니다. 방금 2 개의 다른 스마트 장치 프로젝트로 확인했는데 둘 다 같은 방식으로 실패합니다. – ctacke

+0

나는 뭔가 잘못했을 가능성이 큽니다. 이중 확인해 주셔서 감사합니다. –