体验VS2017的Live Unit Testing
相对于传统的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相关推荐
- AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享
AY写给国人的教程- VS2017 Live Unit Testing[1/2]-C#人爱学不学-aaronyang技术分享 原文:AY写给国人的教程- VS2017 Live Unit Testin ...
- Unit Testing in iOS
2019独角兽企业重金招聘Python工程师标准>>> Introduction Unit testing is a standard technique in computer p ...
- Unit testing Cmockery 简单使用
/*********************************************************************** Unit testing Cmockery 简单使用* ...
- 《Unit Testing》1.1 -1.2 单元测试的目的
本系列是<Unit Testing> 一书的读书笔记 + 精华提取. 书中的例子 C# 语言编写,但概念是通用的,只要懂得面向对象编程就可以. 单元测试当前的状态 目前,在(美国的)大部分 ...
- 我的测试生活感悟2 - Art Of Unit Testing
今天把<Art Of Unit Testing>的前四个章节读完了,作者以自己的亲身经历,使用简洁清晰的语言,为我们展现了单元测试的艺术. 怎么定义一个好的测试案例呢?好的测试案例应该是在 ...
- 对 React 组件进行单元测试(unit testing)
2019独角兽企业重金招聘Python工程师标准>>> 在这里说一下前端开发的一个特点是更多的会涉及用户界面,当开发规模达到一定程度时,几乎注定了其复杂度会成倍的增长. 无论是在代码 ...
- 《Pragmatic Unit Testing In Java with JUnit》—单元测试之道读后感
<Pragmatic Unit Testing In Java with JUnit> ...
- 《Pragmatic unit testing:in java with Junit》阅读
SQ3R阅读法: Survey:阅读之前的浏览,查阅 1.书名:<Pragmatic unit testing:in java with Junit>,中文译名<单元测试之道Ja ...
- [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 ...
最新文章
- android studio怎么添加按钮,Android Studio 工具栏添加常用按钮
- 用友BIP助力大型企业构建“敏态+稳态”的数智企业摩天
- xss原理、攻击方式与防御
- 十分钟搞定 C/C++ 项目自动化构建 —— Xmake 入门指南
- c语言如何把c程序编译成可执行的exe文件
- maven的标准pom.xml详解
- 清除Docker中所有为<none>的镜像(虚悬镜像)
- iOS求职之OC面试题完整版---持续更新中...
- atitit 数据库mysq启动不起来解决方案.docx
- java 删除子文件夹_Java删除文件夹及文件夹下的子文件夹和子文件
- 2022年Java秋招面试必看的 | 微服务面试题
- Java2022面试题集锦
- 怎样搬运视频不侵权,王者剪辑的指纹检测如何检测原创度
- 12V直通限流芯片,输出12V,短路保护,可调限流1A-4A
- C语言阿拉伯数字转大写汉字,将阿拉伯数字转大写汉字程序的类
- 文件或内容损坏无法读取 导致无法删除
- 小葵花妈妈课堂开课了:《ThreadLocal 浅析》
- 服务器计算技术解决远程接入速度困扰
- Excel工作表探密
- Mysql分组取每组排序后第一个
热门文章
- tplink-wr841n无线路由接入到局域网三层交换机方法
- 如何在 Dapper.NET 中使用事务?
- 合肥.NET俱乐部第二期技术沙龙活动预告
- 通过Dapr实现一个简单的基于.net的微服务电商系统(六)——一步一步教你如何撸Dapr之Actor服务...
- iNeuOS工业互联操作系统,图表与数据点组合成新组件,进行项目复用
- 多款主流编程语言,哪款开发软件最安全?
- 为啥 Response.Write 后,View就不渲染了?
- 快醒醒,C# 9 中又来了一堆关键词 init,record,with
- .Net Core Configuration Etcd数据源
- 【视频回放与课件】Build your AI solution with MLOps