码迷,mamicode.com
首页 > 其他好文 > 详细

Live Unit Testing

时间:2017-04-12 09:57:20      阅读:848      评论:0      收藏:0      [点我收藏+]

标签:需要   意思   cart   list   ems   框架   技术   自动   完全   

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里面,选择不希望包含的类,直接在右键菜单里面排除就行了.

Live Unit Testing

标签:需要   意思   cart   list   ems   框架   技术   自动   完全   

原文地址:http://www.cnblogs.com/Leo_wl/p/6697379.html

(1)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!