相对于传统的Unit Test,VS2017 带来了一个新的功能,叫Live Unit Testing,从字面意思理解就是实时单元测试,在实际的使用中,这个功能就是可以在编写代码的时候进行实时的background的单元测试.

在体验之前,有几点注意事项是需要了解的:

1.目前 live unit tesing仅仅支持 C#和VB的传统.net版本,不支持.net core,当然,我觉得也不支持其他的语言,这点是暂时让我遗憾的,因为从体验的结果来看,如果能支持其他的语言,无疑是非常非常吸引人的功能.

2.可以和第三方的测试框架结合,不仅仅是MSTEST,我就是用的NUnit,当然XUnit也没有问题.

要想启用测试,本身来讲是非常简单的.

只需要在Test 菜单 启用Live Unit Testing就可以了.

如果你使用NUnit的话,需要安装Nunit test adpater Install-Package NUnite3TestAdapter

测试的过程就比较简单了.

我们可以按照我们的需要,写一些需要测试的内容,然后创建TestMethod,就可以进行测试,与传统测试不同的是,所有的单元测试,不需要手工触发,可以自动进行.

public class Item
   {
       public string Name { get; set; }
       public decimal Price { get; set; }
   }

public class ShoppingCart
   {
       public int UserID { get; set; }
       public string UserName { get; set; }

public DateTime LastUpdated { get; set; }

public List<Item> Items { get; set; }

public decimal Total { get { return Items.Sum(i => i.Price); } }

}

然后我们可以创建一个测试的类,并编写测试的方法.

在我们的编写过程中,启动了Live Unit Testing的VS2017 会帮我们进行持续的测试,并根据测试的结果,标注在每一行中.

同样,针对已经完成了单元测试的代码,也会进行实时的标记,如下图所示:

这样,我们可以很清楚的看到整个代码的测试覆盖情况.

而且在整个编码过程中,我们完全不需要停止测试的过程,只要我们进行编码,随时都会进行测试,并显示代码测试的覆盖情况,而且会立即显示代码的错误.

例如:

我们保存以后,马上就有提示,然后紧接着会进行单元测试.然后实时的显示测试失败的情况,如下图:

而且这个错误会同时显示在我们的TestMethod和我们的代码编写中,可以想见,这样的方式,将会极大的提升我们编写代码的效率.

但是这样也带来了一个问题,在我们写代码的过程中,可能不希望所有的单元测试都是这样实时的进行的,这个时候,我们可以简单的进行单个测试文件的排除:

只要在Explorer里面,选择不希望包含的类,直接在右键菜单里面排除就行了.

原文地址:http://www.cnblogs.com/fireinwind/p/6689732.html

.NET社区新闻,深度好文,微信中搜索dotNET跨平台或扫描二维码关注

体验VS2017的Live Unit Testing相关推荐

  1. AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享

    AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 原文:AY写给国人的教程- VS2017 Live Unit Testin ...

  2. Unit Testing in iOS

    2019独角兽企业重金招聘Python工程师标准>>> Introduction Unit testing is a standard technique in computer p ...

  3. Unit testing Cmockery 简单使用

    /*********************************************************************** Unit testing Cmockery 简单使用* ...

  4. 《Unit Testing》1.1 -1.2 单元测试的目的

    本系列是<Unit Testing> 一书的读书笔记 + 精华提取. 书中的例子 C# 语言编写,但概念是通用的,只要懂得面向对象编程就可以. 单元测试当前的状态 目前,在(美国的)大部分 ...

  5. 我的测试生活感悟2 - Art Of Unit Testing

    今天把<Art Of Unit Testing>的前四个章节读完了,作者以自己的亲身经历,使用简洁清晰的语言,为我们展现了单元测试的艺术. 怎么定义一个好的测试案例呢?好的测试案例应该是在 ...

  6. 对 React 组件进行单元测试(unit testing)

    2019独角兽企业重金招聘Python工程师标准>>> 在这里说一下前端开发的一个特点是更多的会涉及用户界面,当开发规模达到一定程度时,几乎注定了其复杂度会成倍的增长. 无论是在代码 ...

  7. 《Pragmatic Unit Testing In Java with JUnit》—单元测试之道读后感

    <Pragmatic Unit Testing In Java with JUnit>                                                    ...

  8. 《Pragmatic unit testing:in java with Junit》阅读

    SQ3R阅读法: Survey:阅读之前的浏览,查阅   1.书名:<Pragmatic unit testing:in java with Junit>,中文译名<单元测试之道Ja ...

  9. [Redux-Observable Unit Testing] Mocking an ajax request when testing epics

    Often in unit tests we are focussing on the logic involved in crafting a network request, & how ...

最新文章

  1. android studio怎么添加按钮,Android Studio 工具栏添加常用按钮
  2. 用友BIP助力大型企业构建“敏态+稳态”的数智企业摩天
  3. xss原理、攻击方式与防御
  4. 十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
  5. c语言如何把c程序编译成可执行的exe文件
  6. maven的标准pom.xml详解
  7. 清除Docker中所有为<none>的镜像(虚悬镜像)
  8. iOS求职之OC面试题完整版---持续更新中...
  9. atitit 数据库mysq启动不起来解决方案.docx
  10. java 删除子文件夹_Java删除文件夹及文件夹下的子文件夹和子文件
  11. 2022年Java秋招面试必看的 | 微服务面试题
  12. Java2022面试题集锦
  13. 怎样搬运视频不侵权,王者剪辑的指纹检测如何检测原创度
  14. 12V直通限流芯片,输出12V,短路保护,可调限流1A-4A
  15. C语言阿拉伯数字转大写汉字,将阿拉伯数字转大写汉字程序的类
  16. 文件或内容损坏无法读取 导致无法删除
  17. 小葵花妈妈课堂开课了:《ThreadLocal 浅析》
  18. 服务器计算技术解决远程接入速度困扰
  19. Excel工作表探密
  20. Mysql分组取每组排序后第一个

热门文章

  1. tplink-wr841n无线路由接入到局域网三层交换机方法
  2. 如何在 Dapper.NET 中使用事务?
  3. 合肥.NET俱乐部第二期技术沙龙活动预告
  4. 通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务...
  5. iNeuOS工业互联操作系统,图表与数据点组合成新组件,进行项目复用
  6. 多款主流编程语言,哪款开发软件最安全?
  7. 为啥 Response.Write 后,View就不渲染了?
  8. 快醒醒,C# 9 中又来了一堆关键词 init,record,with
  9. .Net Core Configuration Etcd数据源
  10. 【视频回放与课件】Build your AI solution with MLOps