喜庆牛年,希望我的本命年可以顺利过去…

转:Silverlight单元测试框架

上一篇 / 下一篇  2011-08-13 12:11:00

Silverlight单元测试框架

字体:        | 上一篇 下一篇 | 打印  | 我要投稿  | 推荐标签: 测试框架 单元测试

  微软的silverlight单元测试框架现在已经托管到了MSDN Code Gallery网站上,你可以在上边找到最新的Release版本和一些最新的资料。

  http://code.msdn.microsoft.com/silverlightut/

  每当一个开发人员尝试过了测试驱动开发(TDD)就会十分的欣赏这个方式。接下来我将介绍一下如何使用来使用这个框架。

开始单元测试项目

  配置环境

  1.下载Silverlight Unit Test VS模板

  2.下载Silverlight Unit Test Framework Binaries库

  解压。

Silverlight单元测试框架

Silverlight单元测试框架

  将里面包含的SilverlightTestProject_CSharp.zip和SilverlightTestProject_VB.zip文件拷贝到(不要再把上述两个.zip文件解压了,不然VS不认)。

  %userprofile%\Documents\Visual Studio 2008\Templates\ProjectTemplates

  再将SilverlightTestClass_CSharp.zip以及SilverlightTestClass_VB.zip文件拷贝到:

  %userprofile%\Documents\Visual Studio 2008\Templates\ItemTemplates

启动VS2008:

  看一下项目文件:

  添加一下缺少的DLL引用。

  配置成功!

 浅析框架

  这里项目里只有两个文件,让我们来看看

  App.xaml.cs

private void Application_Startup(object sender, StartupEventArgs e)
{
    
this.RootVisual = UnitTestSystem.CreateTestPage();
}

  其中UnitTestSystem是Microsoft.Silverlight.Testing命名空间下的一个类,而CreateTestPage()方法将返回一个UIElement。

Silverlight单元测试框架

  Test.cs

  很简单就是在里边写测试方法的。

[TestMethod]
public void TestMethod()
{
  Assert.Inconclusive();
}

  改为

[TestMethod]
public void TestMethod()
{
  Assert.IsTrue(
true);
}

  F5运行。

Silverlight单元测试框架

测试自己的Silverlight项目

  新建一个Silverlight项目:

  给MainPage.xaml做简单的修改:

    public partial class MainPage : UserControl
    {
        
private string _author;
        
public string Author { getset; }

        
public MainPage()
        {
            InitializeComponent();
        }
    }

  单元测试中添加对其的引用,并可新建立一个class来对其做测试:

  编写测试方法:

    [TestClass]
    
public class MyTest
    {
        
//[TestMethod]
        
//[ExpectedException(typeof(NullReferenceException))]
        
//public void NullInstance() {
        
//    MainPage mainpage = null;
        
//    string author = mainpage.Author;
        
//}

        [TestMethod]
        [Description(
"测试用户名")]
        
public void VerifyAuthor() {
            MainPage page 
= new MainPage();
            page.Author 
= "nasa";
            Assert.IsNotNull(page.Author);
            Assert.AreEqual(page.Author, 
"nasa");
        }
    }

  F5运行:

  也可点击单个的方法查看详情:

  大家可以直接将自己的sl项目附加进来进行测试,当然在实际的项目中不会这么简单。

总结

  使用TDD单元测试框架为Silverlight带来了一个更好的测试方案,你不用再一点一点的设置断点跟着程序跑。

  能充分的进行单元测试,是提高软件质量,降低开发成本的必由之路。如果养成了对自己写的代码进行单元测试的习惯,不但可以写出高质量的代码,而且还能提高编程水平。

推荐阅读:

JavaFX,Flex和Silverlight横向对比

Silverlight 2单元测试框架

在Silverlight中做单元测试


TAG: WP7

 

评分:0

我来说两句

Open Toolbar