当前位置: 首页 > news >正文

北京招聘网站排行重庆短视频制作公司

北京招聘网站排行,重庆短视频制作公司,中企动力总部在哪里,浙江省住房和城乡建设厅官方网站我们在开发#xff0c;有时遇到一些Legcy代码#xff0c;然后需要对它们进行UnitTest。UnitTest的重要性在这里不再说了。但是发现某些Class中有些方法是Static的#xff0c;按以往的方法我们需要用Extact Interface 方法 从那个需要测试的Class#xff0c;然后使用 IOC /D…        我们在开发有时遇到一些Legcy代码然后需要对它们进行UnitTest。UnitTest的重要性在这里不再说了。但是发现某些Class中有些方法是Static的按以往的方法我们需要用Extact Interface 方法 从那个需要测试的Class然后使用 IOC /DI 的方式替换具体的实现用一个Fake Class或Mock 一个实现来完成 UnitTest。现在我们可以使用Moles 对静态方法做UnitTest。看下面的示例         假设有这个样的Class: 1: public class SomeClass 2: { 3: private int AddTenItem(int num) 4: { 5: return num 10; 6: } 7:   8: private static int AddTwentyItem(int num) 9: { 10: return num 20; 11: } 12:   13: public static string GetMessage(string msg) 14: { 15: return string.Format(--{0}--, msg); 16: } 17:   18: public string GetTotalItem(int num) 19: { 20: return string.Format({0}, AddTenItem(num) AddTwentyItem(num)) ; 21: } 22: }          从上面方法我们看到一个GetMessage静态方法下面看用UnitTest如何测试它。你需要先下载安装Moles从官方网站然后在VS2010中通过Project的 Reference右键菜单 在需要Mock Assembly选择”Add Moles Assembly” 它会自动生成一个 “SomeNameAssembly.Moles”程序集。编写下面的单元测试Code: 1: [TestMethod] 2: [HostType(Moles)] 3: public void TestGetMessageWithMoles() 4: { 5: //arrange 6: MSomeClass.GetMessageString (str) str --; 7:   8: //act 9: var result SomeClass.GetMessage(test); 10:   11: //assert 12: Assert.AreEqual(test--, result); 13: } 需要增加一个Attribtue [HostType(“Moles”)] 对于MsTestMSomeClass是Moles生成的并自动引用于Project上了如上面代码你可以看到我们可以Mock 这个方法的实现了。 对于private的方法也可以看下面的代码: 1: [TestMethod] 2: [HostType(Moles)] 3: public void TestPrivateMethodWithMoles() 4: { 5: //arrange 6: MSomeClass.AddTwentyItemInt32 (i) i 2; 7: MSomeClass.AllInstances.AddTenItemInt32 (SomeClass, i) i 1; 8: 9: //act 10: string result new SomeClass().GetTotalItem(1); 11:   12: //assert 13: Assert.AreEqual(5, result); 14: } 就这么简单上面的代码我们指定两个Private方法delegate一个是Static method另一个是Instance method这里标记是AllInstances。 然后Call那个Public的方法最后Assert。它们无缝地你的真正方法整合在一起做UnitTest。 希望对您的开发有帮助。 作者Petter Liu 出处http://www.cnblogs.com/wintersun/ 本文版权归作者和博客园共有欢迎转载但未经作者同意必须保留此段声明且在文章页面明显位置给出原文连接否则保留追究法律责任的权利。 该文章也同时发布在我的独立博客中-Petter Liu Blog。 转载于:https://www.cnblogs.com/wintersun/archive/2011/08/09/2132340.html
http://www.zqtcl.cn/news/630926/

相关文章:

  • wordpress android客户端湛江网站关键词优化
  • 建材企业网站推广方案申请域名建立网站
  • 备案期间网站要关闭吗汽车行业网站建设比较好
  • 百度网站优化公司做欧洲电商看哪个网站
  • 性做网站推广赚钱群
  • 猪八戒网站做推广怎么样制作企业网站是怎么收费的
  • 罗湖网站公司wordpress 单页面美化
  • 小白自己做网站商业摄影网站源码
  • 网站做外链什么意思青岛科友网站建设网络公司
  • 洛阳网站建设培训杭州seo网站排名
  • 长沙公司网站wordpress发文章后显示两篇
  • 优享购物官方网站wordpress添加数据
  • 重庆工程建设造价信息网站娱乐网站策划书
  • 南通电商网站建设网站设计制作电话多少
  • 微网站搭建流程郑州市金水区建设局官方网站
  • 手工活接单在家做有正规网站吗网站开发的职责与分工
  • 网站程序系统信阳建网站
  • 站长工具关键词排名怎么查深企在线
  • 长垣县建站塔山双喜网站被抓取
  • 如何更改网站的关键词企业商务网站有哪些
  • 太阳能建设网站运城个人网站建设
  • 网站建设 起飞最好的免费logo设计网站
  • 提供网站建设设计wordpress数据库查询很慢
  • 可以自己做漫画的网站怎么才能学网页设计
  • 能盈利的网站网站运营经验
  • 咸宁网站建设价格创建app需要什么条件
  • 一个静态网站多少钱谷歌推广公司哪家好
  • 做体育的网站c2c跨境电商平台有哪些?
  • 山西响应式网站建设推荐全国企业信用信息公示系统浙江
  • 西安做网站维护的公司百度百科官网入口