ACCESS[转]VS2010饱受的单元测试

本文转自:http://zxianf.blog.163.com/blog/static/30120701201101011757499/

 

以VS2010遭到,单元测试的职能很强劲,使得建立单元测试和编辑单元测试代码,以及管理与运行单元测试都换得简单起来,通过个人访问器可以本着私家方法为克拓展单元测试,并且支持数据令的单元测试。

1、建立单元测试项目

1.1、从吃测试代码生成单元测试

1)实例:创建VC#模式下之控制台应用程序,工程称为吧CUnitTest

ACCESS 1

2)输入简单的加以、减、乘、除函数代码,如下图所示

ACCESS 2

3)可依如下步骤建立单元测试

    (1)在Add方法体内,单击鼠标右键,在菜单中选择”创建单元测试”,

ACCESS 3

(2)在产出的”创建单元测试”界面被,Add方法给活动勾上,表示要啊者艺术创建单元测试代码的着力框架,单击确定按钮

ACCESS 4

(3)点击确定后,在新建测试项目中,输入需要创造的单元测试的初品类的称呼,然后单击”创建”按钮,则自动创建一个新的单元测试代码项目。

ACCESS 5

(4)在”解决档案资源管理器”中可以看出多了一个”AddTest”项目,可以看到”AddTest”项目援了给测项目的程序集,和单元测试框架Microsoft.VisualStudio.QualityTools.UnitTestFrame,并且自动出两个C#代码文件AssemblyInfo.cs和ProgramTest.cs

ACCESS 6

(5)ProgramTest.cs的代码如下图所示,从图被好观看,自动出了一个”ProgramTest”类,并运用[TestClass()]标识也一个单元测试类,以及一个”AddTest”测试方法,。并据此[TestMethod()]标识。

ACCESS 7

(6)ProgramTest.cs代码文件详讲

[TestMethod()]:说明了以下代码是一个测试用例

Int a = o; // TODO: 初始化为妥的值

int b = 0; // TODO: 初始化为适当的价

及时点儿词是给测函数的输入参数,需要我们去修改它的值,也便是咱们输入测试用例的地方。

double expected = 0; // TODO: 初始化为方便的值

double actual;

      这片词话浅显易懂,前一模一样句话是概念了期望值同针对它进行初始化,后同样句子话是概念了实际值。默认

Assert.AreEqual(expected, actual);

Assert在此间可以清楚成断言:在VSTS里召开单元测试是冲断言的测试。

默认代码中Assert.Inconclusive
表明这是一个未经证实的单元测试。在实际上的次第中好注释掉。

1.2、添加单元测试项目

(1)另外一种植单元测试方法是独立添加单元测试项目,在缓解方案中补充加一个初的花色,选择种类项目为”测试项目”,

ACCESS 8

(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)打开测试视图窗口,选择测试视图

ACCESS 9

2)在测试视图窗口中挑选要配置成多少令方式的单元测试方法,然后按F4,打开单元测试的特性窗口

ACCESS 10

3)编辑”数据连接字符串”属性,在”属性”窗口中单击该属性,然后单击省有点号
(…)。这将打开”选择数据源”对话框,其中列有了多独或的数据源,包括
ODBC、Microsoft SQL Server 和 Microsoft
Access。选择一个数量源后将打开一个一定于该数额源类型的对话框;可以下此对话框配置该数据源的总是性。配置了数据连接后,连接字符串会作为”数据连接字符串”的价出现。此字符串还会作单元测试方法的一个性能存储起来

ACCESS 11

4)在这个界面被,选择一个Acess表data.mdb,单击”确定”按钮完成安装,回到”单元测试属性”窗口。可以看看数据源的都安装好。

ACCESS 12

5)在树及数据源的连年之后,可以挑选一个数据表。当您单击”属性”窗口的值列中之下拉列表时,将会见列出所连接的数据库被的阐发。从此列表中精选的发明就是在运作单元测试时以寻找其中的推行之表明。与”数据连接字符串”等另性能一样,”数据表名称”也会作单元测试方法的一个性存储起来。

6)在”数据看方法”,请捎”顺序”或”随机”;默认值为”顺序”。此设置表示从今数据源的表中检索记录的各个。

    可以望,在测试方法前面都上加了一条龙:

ACCESS 13

7)数据源的使

通过 TestContext 类的 DataRow 和 DataConnection
属性将数据提供被正运行的单元测试。下面为下TestContext 类的
DataRow属性来读入数据行

ACCESS 14

8)Acess数据源中之表为

ACCESS 15

3.2、读取Excel的方法:

1)在桌面新建一个txt文件,更改文件称也data.dsn

2)选中”数据库连接字符串”,单击右边列的按钮,更改数据源为Microsoft
ODBC数据源,点击”确定”按钮

ACCESS 16

3)选择用连接字符串,点击生成

ACCESS 17

4)选择Excel数据源的驱动程序,点击”下一样步”

ACCESS 18

5)选择data.dsn为数据源保存文件,一直选择”下一样步”。

ACCESS 19

6)在弹出的挑三拣四工作簿中,选择用例的输入文件data.txt,点击”确定”

ACCESS 20

7)选择用例所于的Sheet页,选择”完成”

ACCESS 21

8)数据源的行使代码

ACCESS 22

4、单元测试的周转

单元测试的运作有三三两两种植方式:调试以及运转。可以像调试普通代码一样对单元测试代码进行调试,当然为可以直接运行,单元测试的结果用以”测试结果”界面被显,双击测试结果,可以获得测试结果的详细信息。单元测试的代码覆盖率可以当”代码覆盖率结果”界面中显得。

ACCESS 23

ACCESS 24

5、附加测试属性

“附加测试属性”。默认都是受诠释掉的,只要我们撤销注释就好用了。这个意义的参加,很十分程度达到是以增加测试的油滑。具体的性能有:

[ClassInitialize()]以运作类的第一单测试前先运行代码

[ClassCleanup()]在运行完类中的富有测试后再也运行代码

[TestInitialize()]当运转每个测试前先运行代码

[TestCleanup()]每当运作了每个测试后运行代码

只要以执行测试时,将测试执行时间输入到日志中,代码如下

ACCESS 25

 

相关文章