zoukankan      html  css  js  c++  java
  • Silverlight实用窍门系列:44.Silverlight 4.0中进行单元测试 【附带源码实例】

            在Silvelight 4.0的项目中我们也需要制作单元测试以保证项目的质量,本节将讲诉如何创建一个项目进行单元测试。

            一、创建一个名为SL4UnitAPP的Silverlight 应用程序,不需要Web承载网站。

            二、然后鼠标右键点击SL4UnitAPP解决方案,添加一个名为SL4UnitTest的Silverlight Unit Test Application。

            三、在平时VS2010 创建项目时无法添加一个Silverlight Unit Test Application,所以我们需要将C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\下的ItemTemplates文件夹和ProjectTemplates文件夹都拷贝到D:\My Documents\Visual Studio 2010\Templates目录下的ItemTemplates文件夹和ProjectTemplates文件夹。

                 四、此时我们可以在VS2010创建一个Silverlight Unit Test Application应用程序如下图所示:

                 五、在SL4UnitTest应用程序中添加引用SL4UnitApp项目。如下图所示:

                 六、项目的树状图如下图所示:

                 七、在SL4UnitApp项目的MainPage.xaml.cs中添加两个需要验证的函数和一个公共变量如下代码所示:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;

    namespace SL4UnitAPP
    {
    public partial class MainPage : UserControl
    {
    public MainPage()
    {
    InitializeComponent();
    }
    /// <summary>
    /// 返回一个字符mainPage
    /// </summary>
    /// <returns></returns>
    public string ReturnString()
    {
    return "mainPage";
    }

    public string GetStringFromMethod;
    /// <summary>
    /// 设置公共变量值为SecMethod
    /// </summary>
    public void GetString()
    {
    GetStringFromMethod
    = "SecMethod";
    }
    }
    }

                 八、在SL4UnitTest项目中我们对MainPage类进行实例化,然后我们添加两个特性为[TestMethod]的变量以供测试是否通过单元测试(注意:如果因为断言错误,而进入调试模式,可以按F5继续运行,以看单元测试结果),代码如下:

    using System;
    using System.Net;
    using System.Windows;
    using System.Windows.Controls;
    using System.Windows.Documents;
    using System.Windows.Ink;
    using System.Windows.Input;
    using System.Windows.Media;
    using System.Windows.Media.Animation;
    using System.Windows.Shapes;
    using Microsoft.Silverlight.Testing;
    using Microsoft.VisualStudio.TestTools.UnitTesting;
    using SL4UnitAPP;

    namespace SL4UnitTest
    {
    [TestClass]
    public class Tests
    {
    MainPage mpage
    = new MainPage();
    [TestMethod]
    public void TestMethod1()
    {
    //断言mpage.ReturnString()获得的结果是mainPage
    Assert.AreEqual(mpage.ReturnString(), "mainPage");
    }

    [TestMethod]
    public void TestMethod2()
    {
    //先运行mpage.GetString()函数,然后断言GetStringFromMethod值为SecMethod
    mpage.GetString();
    Assert.AreEqual(mpage.GetStringFromMethod,
    "SecMethod1");
    }
    }
    }

                 九、本实例中第一个方法是正确的断言,第二个方法很明显是错误的断言,所以按下F5看到的结果如下面两张图所示:

                 本实例采用VS2010+Silverlight 4.0编写,如需源码请点击 SL4UnitAPP.zip 下载。

  • 相关阅读:
    Linux定制化RPM包
    01-if条件语句之数字比较
    01-爬虫介绍
    Django的路由系统01-路由分发
    Nginx+tomcat+redis集群共享session实现负载均衡
    CAS单点登录原理
    红黑树
    B+树
    Mysql索引介绍
    B树(B-树)
  • 原文地址:https://www.cnblogs.com/chengxingliang/p/2074096.html
Copyright © 2011-2022 走看看