Silverlight4、5单元测试

1.到http://silverlight.codeplex.com/下载Silverlight Toolkit后安装,Silverlight单元测试框架会自动安装,如果是Silverlight5版本的toolkit则测试框程序集在 C:\Program Files (x86)\Microsoft SDKs\Silverlight\v5.0\Toolkit\dec11\Testing下面,分别是 Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll和Microsoft.Silverlight.Testing.dll,其它版本的Toolkit到相应文件夹中查找

2、在Silverlight解决方案中添加新的Silverlight应用程序作为单元测试项目,注意,可将“在解决方案中的新网站或现有网站上承载Silverlight应用程序”复选框取消勾选,如下图。

3、删除测试目中的MainPage,添加对Microsoft.VisualStudio.QualityTools.UnitTesting.Silverlight.dll和Microsoft.Silverlight.Testing.dll的引用,然后修改测试项目的App.xaml.cs文件:

添加using Microsoft.Silverlight.Testing;

修改Application_Startup方法如下:

private void Application_Startup(object sender, StartupEventArgs e)
        {
            this.RootVisual = UnitTestSystem.CreateTestPage();//创建单元测试页面
        }

以 上是创建测试框架主页,如下图:

4、创建测试类

添加一个类命名为TestClass,在类中引用

using Microsoft.Silverlight.Testing; using Microsoft.VisualStudio.TestTools.UnitTesting;

两个命名空间,同时添加对要测试的Silverlight项目的引用,测试类如下:

using System.Windows;
using IMCP_Web.Utils;
using Microsoft.Silverlight.Testing;
using Microsoft.VisualStudio.TestTools.UnitTesting;

namespace ImcpWebUnitTest.IMCP_Web.Utils
{
    [TestClass]
    public class Helper_Test:SilverlightTest
    {
        [TestMethod]
        [Description("将一个字符串转换成坐标点")]
        public void TestGetPointFromStr()
        {
            Point point = Helper.GetPointFromStr("10,10");
            Assert.AreEqual(point, new Point(10,10));
        }
    }
}

[TestClass]说明这是一个单元测试类,同时该类继承自Silverlight单元测试框架的SilverlightTest类

[TestMethod]说明这个方法是个测试方法

[Description("")]对测试方法进行描述

方法TestGetPointFromStr()即是对被测项目中类Helper中方法GetPointFromStr方法进行测试

5、将测试项目设为启始项目,运行即看到上面的测试框架页面,默认进入页面后,点击"Use tag expression",在左侧栏选中要运行的测试方法,右侧会显示测试结果,如果一个测试方法不通过程序会进入发生异常的代码行.

 

本文根据网上资料和结合之前Silverlight3测试框架相关资源总结而得.

posted @ 2012-09-10 19:13  liancs  阅读(371)  评论(0编辑  收藏  举报