使用VS2013进行单元测试和查看代码覆盖率
之前一直不知道VS原来自带测试的相关组件,今天做软件测试的单元测试实验才知道VS这么强大。
实验要求如下:
具体操作步骤如下:
新建一个C#类库项目,如下图:
新建一个Cmp.cs,并将代码填入
代码如下:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace UnitTest { public class Cmp { public static int Largest(int[] list) { if (list.Length == 0) throw new ArgumentException("Empty list"); int index, max = Int32.MinValue; for (index = 0; index < list.Length; index++) { if (list[index] > max) max = list[index]; } return max; } } }
右击解决方案管理器新建一个单元测试项目:
右击引用将测试项目导入进去:
在测试类的头部添加UnitTest的引用:
测试代码如下:
using System; using UnitTest; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace UnitTestProject1 { [TestClass] public class CmpTest { [TestMethod] public void TestMethod1() { int[] list = null; Assert.AreEqual(null, list);//对异常进行测试 int[] list1 = new int[] { 0, 2, 5, 8, 6, 2 };//测试方法 Assert.AreEqual(8, Cmp.Largest(list1)); } } }
点击测试资源管理器,在左侧就出现了,然后点击全部运行,就会运行你全部测试的内容:
右击选中的测试方法,分析选中的测试的代码覆盖率:
结果如下: