2011-02-16 130 views
2

我试图让Silverlight 4单元测试工作(使用Silverlight Toolkit安装的Microsoft框架),并得到一个NullReferenceException检查TextBlock的Text属性。我确定我错过了让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]属性在方法中抛出的异常。尝试将_myPage = new MainPage();行移动到您的测试方法。

+0

你是个天才!就是这样!我缺少对第三方控件的引用。没有意识到我需要单元测试项目中的相同引用。一旦我移动新代码,我发现真正的问题。非常感谢! – Krip 2011-02-16 17:56:54