在测试视图中,右击--运行选定内容
结果如下:
在上图中右击,可以查看代码覆盖率和查看测试结果详细信息,如下图:
1.2、添加单元测试项目
(1)另外一种单元测试方法是独立添加单元测试项目,在解决方案中添加一个新的项目,选择项目类型为“测试项目”,
(2)单击确定后,自动产生一个新的单元测试项目,在“解决方案资源管理器”中可看到新添加的测试项目“TestProject2”。对比“TestProject2”和“AddTest”可发现,“TestProject2”少了对被测试项目程序集的引用,仅仅引用了单元测试框架的DLL“Microsoft.VisualStudio.QualityTools.UnitTestFrame”
2、编写测试方法
单元测试的基本方法是调用被测代码的函数,输入函数的参数值,获取返回结果,然后与预期测试结果进行比较,如果相等则认为测试通过,否则认为测试不通过。
1、Assert类的使用
Assert.Inconclusive() 表示一个未验证的测试;
Assert.AreEqual() 测试指定的值是否相等,如果相等,则测试通过;
AreSame() 用于验证指定的两个对象变量是指向相同的对象,否则认为是错误
AreNotSame() 用于验证指定的两个对象变量是指向不同的对象,否则认为是错误
Assert.IsTrue() 测试指定的条件是否为True,如果为True,则测试通过;
Assert.IsFalse() 测试指定的条件是否为False,如果为False,则测试通过;
Assert.IsNull() 测试指定的对象是否为空引用,如果为空,则测试通过;
Assert.IsNotNull() 测试指定的对象是否为非空,如果不为空,则测试通过;
2、CollectionAssert类的使用
用于验证对象集合是否满足条件
StringAssert类的使用
用于比较字符串。
StringAssert.Contains
StringAssert.Matches
StringAssert.tartWith
3、数据驱动的单元测试
数据驱动的单元测试是指单元测试的输入数据遍历一个数据源的所有行。从数据源的没一行读入数据并传入给测试方法使用
3.1、ACCESS数据驱动单元测试
1)打开测试视图窗口,选择测试视图
2)在测试视图窗口中选择需要配置成数据驱动方式的单元测试方法,然后按F4,打开单元测试的属性窗口
3)编辑“数据连接字符串”属性,在“属性”窗口中单击该属性,然后单击省略号 (…)。这将打开“选择数据源”对话框,其中列出了若干个可能的数据源,包括 ODBC、Microsoft SQL Server 和 Microsoft Access。选择一个数据源后将打开一个特定于该数据源类型的对话框;可以使用此对话框配置该数据源的连接属性。配置完数据连接后,连接字符串会作为“数据连接字符串”的值出现。此字符串还会作为单元测试方法的一个属性存储起来
4)在这个界面中,选择一个Acess表data.mdb,单击“确定”按钮完成设置,回到“单元测试属性”窗口。可以看到数据源的已经设置好。
5)在建立与数据源的连接之后,可以选择一个数据表。当您单击“属性”窗口的值列中的下拉列表时,将会列出所连接的数据库中的表。从此列表中选择的表就是在运行单元测试时将检索其中的行的表。与“数据连接字符串”等其他属性一样,“数据表名称”也会作为单元测试方法的一个属性存储起来。
6)在“数据访问方法”,请选择“顺序”或“随机”;默认值为“顺序”。此设置表示从数据源的表中检索记录的顺序。
可以看到,在测试方法前面已经添加了一行:
7)数据源的使用
通过 TestContext 类的 DataRow 和 DataConnection 属性将数据提供给正在运行的单元测试。下面为使用TestContext 类的 DataRow属性来读入数据行
8)Acess数据源中的表为