2010-01-19 2 views
1

VSTS 2008 (Visual Studio Team System)에는 inbuilt Unit Testing 기능이 제공됩니다. 우리는 스마트 장치 프로젝트를 통해 단위 테스트를 수행하기위한 테스트 프로젝트를 추가 할 수 있습니다. 스마트 장치 프로젝트가 Framework 3.5를 사용하지 않고 Framework 2.0을 사용하지 않는 경우 문제가 발생합니다. 나는 엄격하게 Framework 3.5를 장치에 설치하지 않습니다.프레임 워크 2.0을 사용하는 스마트 장치에 대한 단위 테스트

Microsoft.VisualStudio.SmartDevice.UnitTestFramework.dll

장치 또는 다른 에뮬레이터 프레임 워크 3.5이 필요합니다 : 그것은 다음과 같은 기준을 사용하고 있기 때문에

그러나 이러한 제한은 유닛 테스트 응용 프로그램을 실행에서 저를 방해한다 그것은 예외를 던질 것이다. Framework 2.0의 한계 내에서 장치 응용 프로그램에 대해 UnitTest를 수행 할 수있는 방법이 있는지 알아야합니다.

답변

0

단위 테스트 프로젝트를 .Net 3.5로 설정하고 스마트 장치 프로젝트를 .Net 2.0으로 설정할 수 있습니다.

그렇게하는 데 문제가 있습니까?

+0

VSTS에서는 대상 프레임 워크를 설정할 수 없습니다. 둘째로, 이미 그대로. – Sumeet

2

많은 Compact Framework 개발을 수행하고 있으며 스마트 장치 테스트를 사용하여 문제를 해결할 수있는 대안을 제안합니다.

UI가보기에 불과하도록 코드를 리 팩터하십시오. (즉, 다른 클래스는 호출하지 않습니다.) 그런 다음 Unit 테스트에 비 UI 클래스를 추가하십시오. (보통의 단위 테스트 만합니다.)

Visual Studio는 처음으로 일반 단위 테스트 프로젝트를 만들었지 만 그 후에는 부드러운 항해를하게됩니다.

  1. 속도 :이 작업을 수행하는 3 가지 이유가

    있다. 이 방법으로 단위 테스트를 실행하는 데 훨씬 적은 시간이 걸립니다.

  2. 용이함. 보시다시피 스마트 장치 장치를 테스트하고 작동 시키려면 비트가 필요합니다.
  3. 호환성. 이렇게하면 Rhino Mocks와 같은 도구에 액세스 할 수 있습니다.
  4. 당신이 수 단위 테스트 프로젝트의 목표를 설정할 수 있습니다 이제 .NET 2.0

단점 : 당신은 없다 "정말"는 NETCF 환경에서 코드를 테스트하는

  1. .

단점은 중요하지만 단위 테스트는 "단점"에 의해 놓친 문제를 신속하게 파악할 수있는 "실제"테스트의 대체가 아닙니다. (실제로 컴파일하면 대부분의 문제를 해결할 수 있습니다.)

+0

코드는 광대 한 .. 많은 사람들이 작업 해 왔습니다. 우리는 리팩토링 할 수 없습니다. 다른 방법이 있습니까? – Sumeet

+1

나는 다른 어떤 방법을 모른다. 도움이된다면이 리팩토링은 단위 테스트 이외의 코드에 유용합니다. UI를 비즈니스 로직과 분리하는 데 도움이됩니다. – Vaccano

0

테스트 프로젝트를 만들 때 뭔가 잘못 설정되었거나 잘못된 절차를 따라야합니다.

Studio 2008에서 다시 확인했으며 테스트중인 어셈블리가 버전 2.0을 대상으로하는 경우 단위 테스트 프로젝트를 만들 때 버전 2.0도 대상으로 지정됩니다. 컨텍스트 메뉴의 "단위 테스트 만들기"마법사를 사용하여 Unit Tetst 프로젝트를 생성해야합니다.

+0

win 또는 web와 같은 일반적인 프로젝트의 경우. 나는 2.0을 목표로하지만 장치 용 유닛 테스트 프레임 워크는 VS2008만으로 다음을 던지고 있습니다. http://www.simonrhart.com/2007/12/microsoftvisualstudiosmartdevicetesthos.html – Sumeet

관련 문제