位置: 编程技术 - 正文

关于Windows 8 开发之测试代码的使用方法(关于windows的开始菜单,叙述错误的是)

编辑:rootadmin

推荐整理分享关于Windows 8 开发之测试代码的使用方法(关于windows的开始菜单,叙述错误的是),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:打开关于windows,打开关于windows,win8开发者模式怎么开启,关于windows的开始菜单,叙述错误的是,win8开发者模式怎么开启,关于windows的开始菜单,叙述错误的是,windows8开关机在哪里,windows8开关机在哪里,内容如对您有帮助,希望把文章链接给更多的朋友!

1.创建解决方案和单元测试项目  1).“文件”菜单上选择“新建”,然后选择“新建项目”。  2).在“新建项目”对话框中,展开“已安装”、“Visual C#”,选择“Windows Store”。然后从项目模板列表中选择“空白应用程序”。  3).将项目命名为 MyTestProject,并确保选中“创建解决方案的目录”。  4).在解决方案资源管理器中,选择解决方案名称,从快捷菜单中选择“添加”,然后选择“新建项目”。  5).在“新建项目”对话框中,展开“已安装”、“Visual C#”,然后选择“Windows 应用商店”。然后从项目模板列表中选择“单元测试库(Windows Store 应用程序)”。

注意:是先创建一个项目,然后再这个项目中添加测试项目,这样符合我们在开发中需要对我们的项目进行测试的需求。

  6).在 Visual Studio 编辑器中打开 UnitTest1.cs。复制代码代码如下:namespace UnitTestLibraryTest{ [TestClass] public class UnitTest1 { [TestMethod] public void TestMethod1() {</p><p> } }}注意以下事项:

a.每个测试都是使用 [TestMethod] 定义的。测试方法必须返回 void,并且不能具有任何参数。在类名前一行,加上[TestClass]的声明.

b.测试方法必须位于使用 [TestMethod] 特性修饰的类中。运行测试时,将为每个测试类创建一个实例。将按未指定顺序调用测试方法。

c.您可定义在每个模块、每个类或每个方法前后调用的特定方法。

d.在文件头部加入using Microsoft.VisualStudio.TestPlatform.UnitTestFramework;的引用。

  7).测试前的初始化及测试后的清理。用法及代码如下:复制代码代码如下:namespace UnitTestLibraryTest{ [TestClass] public class UnitTest1 { private int a; private int b;</p><p> // 当前测试类运行第一个测试方法之前执行,类似于构造函数 [ClassInitialize] public static void MyClassInit(TestContext context) { } // 所有测试方法运行完毕后执行,类似于析构函数 [ClassCleanup] public static void MyClassEnd() { }</p><p> //每个测试方法运行之前执行 [TestInitialize] public void Init() { a = 1; b = 1; } //每个测试方法运行之后执行 [TestCleanup] public void End() { a = 0; b = 0; }</p><p> }}注意:以上方法,方法名可以自定义,无返回值,除了[ClassInitialize]的那个函数有个TestContext的参数外,其他无参数。

2.验证测试是否在测试管理资源器中运行

  1).在 UnitTest1.cs 文件的 TestMethod1 中插入一些测试代码:复制代码代码如下:[TestMethod] public void AddTestMethod() { int a = 1; int b = 2; int sum = a+b; Assert.AreEqual(3,sum); }注意,Assert 类提供的若干静态方法可用于验证测试方法的结果。

  2).在“测试”菜单上,选择“运行”,然后选择“全部运行”。  将生成并运行测试项目。随即显示“测试资源管理器”窗口,并且测试列出在“已通过的测试”下。窗口底部的“摘要”窗格将提供有关所选测试的其他详细信息。 

3.向MyTestProject项目添加Rooter类

  1).在“解决方案资源管理器”中,选择“MyTestProject”项目名称。从快捷菜单中选择“添加”,然后选择“类”。  2).将类文件命名为 Rooter.cs。  3).将以下代码添加到 Rooter 类 Rooter.cs 文件中:复制代码代码如下:public class Rooter { public Rooter() { } public double SquareRoot(double x) { return 0.0; } } Rooter 类声明一个构造函数和 SqareRoot estimator 方法。

  4).SqareRoot 方法只是一个最小实现,足以为测试设置测试基本结构。

4.将测试项目合并为应用程序项目

  1).将对 "MyTestProject"应用程序的引用添加到 UnitTestLibraryTest项目中。

  2).向 UnitTest1.cs 文件添加 using 语句:

  a.打开 UnitTest1.cs。

  b.在 using Microsoft.VisualStudio.TestPlatform.UnitTestFramework; 行下添加代码:using MyTestProject;

关于Windows 8 开发之测试代码的使用方法(关于windows的开始菜单,叙述错误的是)

  3).添加使用 Rooter 函数的测试。将下列代码添加到 UnitTest1.cs:复制代码代码如下:[TestMethod] public void BasicTest() { Rooter rooter = new Rooter(); double expected = 0.0; double actual = rooter.SquareRoot(expected * expected); double tolerance = .; Assert.AreEqual(expected, actual, tolerance); }  4).生成解决方案。

  新测试将显示在测试资源管理器的“未运行的测试”节点中。

  5).在测试资源管理器中,选择“全部运行”。 已通过基本测试

  您已设置测试和代码项目,并验证了您可在代码项目中运行运行函数的测试。现在您可开始编写真实测试和代码。

5.以迭代方式增加测试并使这些测试通过。

  1).添加新测试:复制代码代码如下:[TestMethod] public void RangeTest() { Rooter rooter = new Rooter(); for (double v = 1e-6; v < 1e6; v = v * 3.2) { double expected = v; double actual = rooter.SquareRoot(v * v); double tolerance = ToleranceHelper(v); Assert.AreEqual(expected, actual, tolerance); } }</p><p> private double ToleranceHelper(double expected) { return expected / 3.2; } 提示:建议您不要更改已通过的测试。而是添加新测试,更新代码以便测试通过,然后添加其他测试等。 当您的用户更改其要求时,请禁用不再正确的测试。编写新测试并使它们以相同的增量方式一次运行一个。

2).在测试资源管理器中,选择“全部运行”。

3).测试将不会通过。 RangeTest 未通过

提示:编写测试后,立即验证每个测试是否都将失败。这帮助您避免易犯的错误,不会编写从不失败的测试。

  4).增强受测代码,以便新测试通过。将 Rooter.cs 中的 SqareRoot 函数更改为:

复制代码代码如下:public double SquareRoot(double x) { double estimate = x; double diff = x; while (diff > estimate / ) { double previousEstimate = estimate; estimate = estimate - (estimate * estimate - x) / (2 * estimate); diff = Math.Abs(previousEstimate - estimate); } return estimate; }  5).生成解决方案,然后在测试资源管理器中,选择“全部运行”。

  现在所有三个测试都将通过。

  提示:通过添加测试的方式一次性开发代码。确保所有测试在每次迭代后都通过。

6.调用未通过的测试

  1).向 UnitTest1.cs 添加另一个测试: 复制代码代码如下:[TestMethod] public void NegativeRangeTest() { string message; Rooter rooter = new Rooter(); for (double v = -0.1; v > -3.0; v = v - 0.5) { try { // Should raise an exception: double actual = rooter.SquareRoot(v);</p><p> message = String.Format("No exception for input {0}", v); Assert.Fail(message); } catch (ArgumentOutOfRangeException ex) { continue; // Correct exception. } catch (Exception e) { message = String.Format("Incorrect exception for {0}", v); Assert.Fail(message); } } }  2).在测试资源管理器中,选择“全部运行”。

  测试将不会通过。在测试资源管理器中选择测试名称。将突出显示失败的断言。失败消息将在测试资源管理器的细节窗格中可见。NegativeRangeTests 未通过。

  3).若要查看测试未通过的原因,请单步执行以下函数:

  a.在 SquareRoot 函数的开头设置断点。

  b.在未通过测试的快捷菜单上,选择“调试选定的测试”。 当运行在断点处停止时,请单步执行以下代码。

  c.向 Rooter 方法添加代码以捕获异常,将SquareRoot方法修改如下(对x进行判断捕获异常):复制代码代码如下:public double SquareRoot(double x) { if (x < 0.0) { throw new ArgumentOutOfRangeException(); } double estimate = x; double diff = x; while (diff > estimate / ) { double previousEstimate = estimate; estimate = estimate - (estimate * estimate - x) / (2 * estimate); diff = Math.Abs(previousEstimate - estimate); } return estimate; }  在测试资源管理器中,选择“全部运行”以测试已纠正的方法,并确保您未引入回归测试。所有测试都将通过。

Windows 8 开发之摄像头的使用方法 1.更新项目中package.appmanifest文件,本文让webcam和microphone可用。只需要在功能选项卡中勾选对应的框即可。如下图所示:如果不按照上面的设置,那么这

Windows 8 开发之上下文菜单(右键属性)的应用 在程序中,当右键单击某个对象时,会有小小的弹出菜单命令。如果你使用过Windows8,你可能已经遇见到过上下文菜单了。经常在一些不可以选择的对象

windows 8 开发之开发平台与开发框架的应用 windows8开发之开发平台与开发框架的应用win8App开发主要分成两部分,desktopapp和metroapp。右边蓝色的部分就是desktopapp的部分,也是从win7延续过来没有发生

标签: 关于windows的开始菜单,叙述错误的是

本文链接地址:https://www.jiuchutong.com/biancheng/363798.html 转载请保留说明!

上一篇:windows8 输入法设置(包括不能删除/不可为英文)的解决方法(window8输入法怎么设置)

下一篇:Windows 8 开发之摄像头的使用方法(windows 开发工具)

  • 离职人员补发工资怎么做账
  • 计提税金会计分录怎么算
  • 个税手续费返还交增值税,但是6%的那行是灰色的
  • 进料加工要交税吗
  • 金税三期登录界面
  • 关联企业的判定标准
  • 其他债权投资的交易费用计入哪里
  • 企业所得税优惠政策最新2023小规模纳税人
  • 个人补缴的医保要做账吗
  • 增值税发票的品名与报关单不一致
  • 个人捐赠支出税前扣除条件
  • 税收优惠退税会计处理
  • 无形资产净损失计入
  • 小规模和纳税人一般怎么选择
  • 发票管理中的四流一致是指什么一致
  • 除湿机 哪个好
  • 固定资产停止使用转入更新改造的会计处理
  • 租房所得税是怎么处理
  • 现金支票怎么支付的
  • 对方公司开发票我方未付款如何做分录?
  • 公司库存现金如何存回银行
  • etc预付卡发票能不能报销
  • 何为销项税额
  • 二月份个税申报时间
  • 可变现净值是不是就是毛利
  • 投资性房地产的后续计量从成本模式转为公允价值模式的
  • mac dns 设置
  • 购进材料是进项税还是销项税
  • 应付票据贴现息计入
  • 会计科目在建工程包括哪些
  • php require的用法
  • 股东以债权出资,公司怎么处理
  • 收入成本科目
  • 绿萝可以放卧室吗晚上睡觉对人害吗
  • ipcservice.dll是什么?
  • 建账初期的库存商品录入
  • 所得税 季报
  • 发票中的密码区是如何形成的
  • 企业购买预付卡怎么做账
  • 深圳杯2020c题
  • vue3.0动态路由
  • phpwhile循环多维数组
  • 利润表中本期数
  • 社保台账显示未托收
  • 双抬头发票认证
  • 银行本票怎么办理转账
  • 帝国cms会员注册天数自动升级会员组
  • 清卡操作流程
  • mysql分片sql
  • 股利分配是什么科目
  • 融资租入固定资产的入账价值
  • 顾客抽奖奖项名称
  • 公司做账开票是什么意思
  • 申报抵扣的进项税额怎么算
  • 建立明细账的操作步骤
  • sql批量修改数据语句
  • 445端口 关闭
  • win8电脑无法识别usb设备怎么办
  • debian系统
  • mac系统怎么删除用户
  • win10耳机和扬声器有什么区别
  • WIN10系统崩溃如何自救?
  • win10开机自动启动软件怎么设置
  • win7怎么修改开始菜单样式
  • javascript.info
  • linux中rpm命令详解
  • 你不一定知道的地方
  • perl -i -pe
  • js canvas绘制图片
  • javascript教程chm
  • javascript的介绍
  • android系统虚拟机
  • js图片轮播和点击切换
  • js中overlay
  • jQuery UI Bootstrap是什么?
  • 深圳税务局关于个体户开具普通发票有关问题的通知
  • 环保税按次申报需要交滞纳金吗
  • 电子税务局官网湖南省
  • 腾讯 短信服务
  • 卷票发票丢失怎么办理
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设