2012-11-12 2 views
1

Windows Phone 7에 사진 응용 프로그램이 있으며 일부 단위 테스트 작성을 위해 NUnit을 시험해 보았습니다. BitmapImage 개체를 인스턴스화 할 때이 나에게 System.DivideByZero 예외를 제공BitmapImage throw Windows Phone unit testing 용 NUnit에서

  1. ... 나는 포함 된 리소스에서 일부 이미지를로드하려고 나는 두 개의 서로 다른 접근 방식을 시도했지만 그들 중 누구도 나를 위해 작동하지

    BitmapImage image = new BitmapImage(new Uri("data/data000.jpg")); 
    WriteableBitmap testData = new WriteableBitmap(image); 
    
  2. 이렇게하면 "발신자의 응용 프로그램 신원을 확인할 수 없습니다." PictureDecoder.DecodeJpeg()를 호출 할 때.

    using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("MyApp.Test.data.data000.jpg")) { 
        WriteableBitmap testData = PictureDecoder.DecodeJpeg(stream); 
    } 
    

내가 할 또는 시도해야 다른 어떤 생각? NUnit (NuGet)과 NUnit-WindowsPhone (NuGet에서도)을 시도했습니다.

대단히 감사합니다!

편집 : 나는 추가해야 할 한 가지는 내가 ReSharper에서 통해 테스트 케이스를 실행하고 있다는 것입니다, 나는 그 중요한 경우에 확실하지 않다 ...

감사합니다, 케인

답변

0

나는 당신이 정확히 기억 경우 단위 테스트 클래스 라이브러리의 mscorlib를 제외한 모든 참조에서 "copy local"을 true로 설정합니다.

편집 : 최선의 방법은 코드를 다시 작성하는 것입니다. 따라서 MVVM을 사용하는 경우 뷰 모델에 이미지 이름 만 사용할 수 있습니다. 그런 다음 자신의 논리를 테스트 할 수 있습니다. 올바른 이미지를 선택하는 것입니다. BitmapImage/WriteableBitmap을 테스트하는 것은 무의미합니다.

이 아닌 실버 라이트 런타임에서 실버 라이트 코드를 실행의 고통 ...

+0

그래, 내가 그랬어 그 mscorlib에 제외한 모든 참조에. (mscorlib.extensions는 어떻습니까?) –

+0

편집 내 대답 – trydis