据说VS2005里即提供了测试功能,可是对于像我或者我们这样的开发人或团队真还没有进化到用测试这块。一直以来都是手工测试或等到用户发现问题。今天在网上找了一个介绍单元测试的WORD文档,按里面说的做了一下,现将过程记录如下。(非常简单的例子,希望大家不要扔鸡蛋,唉·#%·#¥·#·#¥·#¥)

1、准备要测试的方法

2、创建测试

选择此项后DOT NET会利用反射机制列出程序集信息(有点慢,不知道是不是机器原因):

下图是设置按钮对应的对话框,在里面可以指定类名什么的。无视确定,输入测试项目名称即可,会创建一系列文件,还有一个TXT文件,没什么用,当然你也可以仔细看看。

3、查看测试类

4、修改测试方法,为其赋值。改后如下:

5、执行测试

在“public void addTest()”上点右键执行“运行测试”会打开测试执行窗口,并显示过程与结果。

在此窗口中可以看到调试按钮,当测试的方法比较复杂时或想了解测试过程时,可在测试代码中加入断点,然后点测试结果窗口的调试按钮进行跟踪调试。

通过上述方法即可实现一个简单的测试。但有个问题是如果我们要测试的数据非常多,不可能一次次停掉程序修改参数再执行测试。我们可以将数据放在数据库中,或是利用数据库的数据来进行测试。

6、连接数据库,创建测试数据

通过服务器资源管理器,连接到SQL SERVER 创建了一个名为AddTestData的数据表。其中a,b为要测试函数的参数。c为预期结果。创建完成,填入数据如下:

7、将测试数据与测试用例关联

打开测试视图

选择测试视图中的用例,然后在属性窗口中设置以下属性。

连接串就不用说了吧,连到刚才指定的数据库的字符串,表名称用“AddTestData”,访问方法选默认的Sequential,顺序,当然如果数据表中的数据太多或没有必要全测试时,可以在此选择随机Random

修改测试用例

其实上边的枚举可以不用的,直接指定“0,1,2”就行,但我看到的文章里是这样写的,就照着写下来了。经过这样的改写后(注意代码中的数据连接),

8、执行连接数据库的测试

与上边的测试是一样的,启动测试。查看结果:

未通过?有一个未通过,不要慌,是因为我在测试数据中有个期望结果故意写错了。

双击未通过的行,可以打开如下信息:

这样更有利于我们查找问题的原因。

9、代码测试覆盖率

这个功能找了半天好不容易找到,默认是不开启的,需手动开启。

这个文件是在创建测试项目时自动添加的。在其上面双击会弹出一个对话框:

在此对话框中选择代码覆盖率项,在右侧选中要检测的项目,最后点应用、关闭。

在测试结果窗口点击“显示代码覆盖率着色”按钮。当然如果你不点的话,可以在结果中看到覆盖情况,但不会直观地看到哪些代码被覆盖。

好了,一个简单的单元测试应该就是这样吧!

出处:http://blog.csdn.net/anyqu/article/details/7453918

个人感觉数据库配置测试数据还是比较有用的,可以方便测试大量的数据,并且不需要修改代码,也不需要编译。

图解VS2005之单元测试的更多相关文章

  1. Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解

    原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使 ...

  2. 图解安装CLion编写程序并进行单元测试

    我对JetBrains公司的IDE情有独钟,于是这里使用的IDE是CLion,CLion是以IntelliJ为基础,专为开发C及C++所设计的跨平台IDE,可以在Windows.Linux及MacOS ...

  3. IntelliJ IDEA单元测试和代码覆盖率图解

    转载:http://blog.csdn.net/u011872919/article/details/11566713 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率. 1 创建 ...

  4. Nunit NMock Ncover单元测试

    Nunit中如何进行事务性单元测试   单元测试要求:单元测试方法并不真正去变更数据库,也就是说单元测试不依赖于数据库中的数据.那我们如何解决执行单元测试方法后,不变更数据库中数据呢? 一般的解决方案 ...

  5. 为WPF项目创建单元测试

    原文作者: 周银辉  来源: 博客园 原文地址:http://www.cnblogs.com/zhouyinhui/archive/2007/09/30/911522.html 可能你已发现一个问题, ...

  6. C#单元测试,带你入门

    注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.10 模拟框架 为什么要编写单元测试 ...

  7. Java单元测试初体验(JUnit4)

    什么是单元测试 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应 ...

  8. C#单元测试,带你快速入门

    注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.10 模拟框架 为什么要编写单元测试 ...

  9. 【转】C#单元测试,带你快速入门

    [转]C#单元测试,带你快速入门 注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.1 ...

随机推荐

  1. Python 以指定列宽格式化字符串

    问题: 有一些长字符串,想以指定的列宽将他们重新格式化 解决方案: 使用textwrap模块来格式字符串的输出. textwrap 模块对于字符串打印时非常有用的,特别是当希望输出自动匹配终端大小的时 ...

  2. Ruby 安装和gem配置

    在linux或mac等*unix系统下可以使用rvm来进行ruby的配置和管理. 安装方法 (需要curl) curl -L get.rvm.io | bash -s stable rvm官方网站: ...

  3. 2017-2018-1 JaWorld 团队作业--冲刺2

    2017-2018-1 JaWorld 团队作业--冲刺2 (20162314) 总体架构 我们本次团队项目设定为基于Android系统Java架构下的打飞机小游戏 游戏中所有模型的原型设定是精灵,因 ...

  4. TortoiseGit 访问https远程仓库,上报SSL证书错误解决方法

    报错 在使用TortoiseGit时,clone自己搭建的gitlab报如错SSL certificate problem: self signed certificate 原因:自行搭建的gitla ...

  5. HttpContext.Current and Web Api

    Using HttpContext.Current in WebApi is dangerous because of async HttpContext.Current gets the curre ...

  6. Vue+Webpack配置css-loader时报错:Module build failed: Unknown word

    使用Vue+Webpack搭建工程时,在webpack.config.js中的module的rules里针对各种文件配置加载工具.在针对css文件配置时遇到一个问题:打包构建时报错——Module b ...

  7. HDU 3435 A new Graph Game(最小费用流:有向环权值最小覆盖)

    http://acm.hdu.edu.cn/showproblem.php?pid=3435 题意:有n个点和m条边,你可以删去任意条边,使得所有点在一个哈密顿路径上,路径的权值得最小. 思路: 费用 ...

  8. UI 交互

    动效设计 亮色优缺点 排版 原型图交互说明

  9. 005——php字符串中的处理函数(四)

    <?php /** * 字符串处理函数: * parse_url 解析URL.返回其组成部分 */ /* $url="http://www.lantianwang.com/admin/ ...

  10. Vue.js组件设计原则

    页面上把每个独立可以交互的区域视为一个组件 每个组件对应一个工程目录,组件所需要的各种资源在这个目录下就近维护 页面不过是组件的容器,组件可以嵌套自由组合形成完整的页面