2011-02-16 3 views
2

Silverlight Toolkit과 함께 설치된 Microsoft의 프레임 워크를 사용하여 Silverlight 4 단위 테스트를 받고 TextBlock의 Text 속성을 확인하는 NullReferenceException을 얻으려고합니다. xaml 페이지를로드/초기화 할 때 뭔가 빠졌습니다. 코드는 다음과 같습니다.Silverlight 단위 테스트를 실행하는 NullReferenceException

[TestClass] 
public class Tests 
{ 
    private MainPage _myPage; 

    [TestInitialize] 
    public void PreparePage() 
    { 
     _myPage = new MainPage(); 
    } 

    [TestMethod] 
    public void TitleIsInInitialState() 
    { 
     Assert.AreEqual(_myPage.myTextBlock.Text, "myText"); 
    } 
} 

다음으로 Silverlight 유닛 테스트 프로젝트를 참조하는 html 페이지를 실행하십시오. 내가 뭘 놓치고 있니?

감사합니다, Krip

답변

4

는 예외를 던지는 MainPage() 생성자인가?

Silverlight 테스트 러너가 [TestInitialize] 특성을 가진 메서드에서 throw 된 예외를 오히려 감추는 것을 발견했습니다. 시험 방법으로 _myPage = new MainPage(); 행을 이동하십시오.

+0

당신은 천재입니다! 그거였다! 제 3 자 컨트롤 참조가 없습니다. 유닛 테스트 프로젝트에서 같은 참조가 필요하다는 것을 깨닫지 못했습니다. 내가 newup 코드를 옮기 자마자 나는 진짜 문제를 발견했다. 정말 고마워! – Krip

+0

@Krip : 의견에 감사드립니다. 물론'[TestInitialize]'메소드 만 예외를 삼키지 않으면 문제를 완전히 피할 수있었습니다. 이런 일이 일어 났을 때 나는 약간 짜증났다. 확실히 내가 예상했던 것이 아니 었습니다. 나는 이것을 수행하는 다른 테스트 프레임 워크를 모른다. –

관련 문제