zoukankan      html  css  js  c++  java
  • Live Unit Testing

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

  • 相关阅读:
    有点忙啊
    什么是协程
    HDU 1110 Equipment Box (判断一个大矩形里面能不能放小矩形)
    HDU 1155 Bungee Jumping(物理题,动能公式,弹性势能公式,重力势能公式)
    HDU 1210 Eddy's 洗牌问题(找规律,数学)
    HDU1214 圆桌会议(找规律,数学)
    HDU1215 七夕节(模拟 数学)
    HDU 1216 Assistance Required(暴力打表)
    HDU 1220 Cube(数学,找规律)
    HDU 1221 Rectangle and Circle(判断圆和矩形是不是相交)
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/6697379.html
Copyright © 2011-2022 走看看