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 下载。

相关文章
|
21天前
|
机器学习/深度学习 JSON 算法
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
本文详细介绍了使用YOLOv5-Seg模型进行图像分割的完整流程,包括图像分割的基础知识、YOLOv5-Seg模型的特点、环境搭建、数据集准备、模型训练、验证、测试以及评价指标。通过实例代码,指导读者从自定义数据集开始,直至模型的测试验证,适合深度学习领域的研究者和开发者参考。
165 2
实例分割笔记(一): 使用YOLOv5-Seg对图像进行分割检测完整版(从自定义数据集到测试验证的完整流程)
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
43 2
|
3月前
|
Java 测试技术 API
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
SpringBoot单元测试快速写法问题之创建 PorkInst 实例如何解决
|
3月前
|
存储 测试技术 API
apifox实例应用-自动化测试用例for循环的使用
总结来说,通过在Apifox自动化测试用例中结合for循环的使用,我们可以有效地对接口进行批量测试,提升测试效率和覆盖率。同时,通过参数化测试数据的灵活应用,能够确保我们的接口在不同的输入条件下都能保持正确的行为。这种方法能够显著减少手动测试工作量,同时通过标准化的流程确保测试的一致性。
216 0
|
5月前
|
NoSQL 关系型数据库 MySQL
软件测试之【基于开源商城系统fecmall功能测试项目实例】
软件测试之【基于开源商城系统fecmall功能测试项目实例】
275 0
软件测试之【基于开源商城系统fecmall功能测试项目实例】
|
6月前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
6月前
|
存储 弹性计算 网络协议
【阿里云弹性计算】ECS实例性能测试报告:阿里云实例性能横向评测
【5月更文挑战第27天】阿里云ECS性能横向评测对比了经济型e系列、计算型c7a系列实例的CPU、内存、网络和存储性能。使用SPEC CPU 2017、Stream、iperf和fio工具进行测试。结果显示,计算型c7a系列在CPU和网络性能上突出,经济型e系列性价比高。所有实例内存性能良好,ESSD云盘提供出色存储性能。用户应根据业务需求选择合适实例。
164 0
|
6月前
|
Web App开发 设计模式 测试技术
python自动化测试实战 —— 自动化测试框架的实例
python自动化测试实战 —— 自动化测试框架的实例
|
6月前
|
测试技术 Android开发
快速上手App自动化测试利器,Toast原理解析及操作实例
`Toast`是Android中的轻量级通知,短暂显示在屏幕任意位置,1-2秒后自动消失,不获取焦点且不可点击。Appium通过uiautomator2在控件树中处理Toast。在测试中,可设置隐式等待,利用XPath或Accessibility ID定位Toast元素进行检测和验证。示例代码展示了如何初始化driver,点击触发Toast,以及如何定位并读取Toast文本。
284 3
|
6月前
|
Java
java面向对象高级分层实例_测试类(main方法所在的类)
java面向对象高级分层实例_测试类(main方法所在的类)