简单来说IntelliTest是VS2015在其企业版中加入的一个新功能,这项新功能能够自动为代码创建UT case并运行,能极大的方便创建我们进行UT测试并且提高测试覆盖率。
IntelliTest是在IL 层面上(Microsoft Intermediate Language是将.NET代码转化为机器语言的一个中间语言的缩写),对代码的各种分支进行分析后,自动生成测试代码和边界值测试。这些生产的测试用例可以方便的保存下来以便以后执行,也可以弃之不用这样便不会在项目中产生UT project,想运行UT的时候可以重新生成自动的case来运行。
下面写一个小例子来作一下Demo,在其中介绍一下这个功能是如何使用的。
首先打开VS2015 企业版,新建一个C#项目(可以是任何类型的了)并将其命名为 然后打开Class.cs文件并输入
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace IntillTestDemo
{
public class Calcualate
{
public int AddValue(int a)
{
int b = 0;
if(a < 0)
{
b = 1;
}
if(a == 0)
{
b = 0;
}
else
{
b = 2;
}
return b;
}
}
}
这段代码的功能是根据a的值来出去b的值,这里很明显有一个错误,就是第二个if少用了else
然后点击右键在弹出菜单中选择Run IntilliTest 菜单
编译运行后就会出现以下结果
三个测试用例覆盖了其三个逻辑分支,从传入参数a和result列就可以明显的看到哪里出错了,用例2 和用例3传入的参数不同,但是result确实相同的。
如果想保存这些用例,那么选中所有的用例后点击保持保存按钮VS2015就会自动创建一个行的UT项目,并把这些用例保持在新建的项目中。并且在所见的UT项目中可以写代码来定制相关的测试。
这里有一个视频,如果英语好的话可以看看.
Visual Studio 工具箱: IntelliTest:一个最新的channel 9 视频。