图解VS2005之单元测试
据说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之单元测试的更多相关文章
- Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解
原文 http://www.cnblogs.com/xiongmaopanda/p/3314660.html Java开发工具IntelliJ IDEA使用教程:单元测试和代码覆盖率 本文将展示如何使 ...
- 图解安装CLion编写程序并进行单元测试
我对JetBrains公司的IDE情有独钟,于是这里使用的IDE是CLion,CLion是以IntelliJ为基础,专为开发C及C++所设计的跨平台IDE,可以在Windows.Linux及MacOS ...
- IntelliJ IDEA单元测试和代码覆盖率图解
转载:http://blog.csdn.net/u011872919/article/details/11566713 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率. 1 创建 ...
- Nunit NMock Ncover单元测试
Nunit中如何进行事务性单元测试 单元测试要求:单元测试方法并不真正去变更数据库,也就是说单元测试不依赖于数据库中的数据.那我们如何解决执行单元测试方法后,不变更数据库中数据呢? 一般的解决方案 ...
- 为WPF项目创建单元测试
原文作者: 周银辉 来源: 博客园 原文地址:http://www.cnblogs.com/zhouyinhui/archive/2007/09/30/911522.html 可能你已发现一个问题, ...
- C#单元测试,带你入门
注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.10 模拟框架 为什么要编写单元测试 ...
- Java单元测试初体验(JUnit4)
什么是单元测试 我们在编写大型程序的时候,需要写成千上万个方法或函数,这些函数的功能可能很强大,但我们在程序中只用到该函数的一小部分功能,并且经过调试可以确定,这一小部分功能是正确的.但是,我们同时应 ...
- C#单元测试,带你快速入门
注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.10 模拟框架 为什么要编写单元测试 ...
- 【转】C#单元测试,带你快速入门
[转]C#单元测试,带你快速入门 注:本文示例环境 VS2017 XUnit 2.2.0 单元测试框架 xunit.runner.visualstudio 2.2.0 测试运行工具 Moq 4.7.1 ...
随机推荐
- this指向 - 开端
/* 这个主题 主要是为了论述 js 中一个最烦人的问题 --> this 的指向问题 其实,这个 this 到底指向什么,指向谁,查了好多资料.书籍.官文,也没有给出明确的一个结论, 也学这也 ...
- PHP设计模式_适配器模式
将各种截然不同的函数接口封装成统一的API. PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API.类似的场景还有cache适 ...
- bzoj1626 / P2872 [USACO07DEC]道路建设Building Roads
P2872 [USACO07DEC]道路建设Building Roads kruskal求最小生成树. #include<iostream> #include<cstdio> ...
- 来自MSDN的RibbonGadgets练习
来自MSDN的RibbonGadgets练习 RibbonGadgets是少见的来自官方的资源. 如果选择Menu Items = 集合,则会有向下的小箭头,同时会出现下来菜单. 这个都关系叫做gal ...
- 20145122 《Java程序设计》第5周学习总结
教材学习内容总结 1.在Java中,异常分为受检查的异常,与运行时异常. 两者都在异常类层次结构中. 2.受检查的异常(checked exceptions),其必须被 try{}catch语句块所捕 ...
- 【乱码】运行java -jar xx.jar存到hbase里的数据乱码
程序在Eclipse里运行没有问题,但是打成jar包之后写入hbase里的数据会有乱码,ES里正常 经过测试,运行命令里加上-Dfile.encoding=utf-8 就可以正常写入,但是cmd命令里 ...
- IDEA 搭建授权服务器
引用地址 http://blog.lanyus.com/archives/317.html 今天突出发现基本公开的激活地址都被屏蔽了(IDEA 2017.3 版本) 记录一下 docker pull ...
- Gym 101246D Fire in the Country(dfs求SG函数)
http://codeforces.com/gym/101246/problem/D 题意: 给定一个无向有环图,大火从1点开始,每个时间点与它相邻的点也将会着火,现在有两个人轮流操作机器人,机器人从 ...
- POJ Stockbroker Grapevine(floyd)
https://vjudge.net/problem/POJ-1125 题意: 题意不是很好理解,首先输入一个n,表示有n个股票经纪人,接下来输入n行,每行第一个数m为该股票经纪人认识的经纪人数,然后 ...
- shell 将输入的字符转换成大写
test.sh #!/bin/bash while read line do echo $line | tr '[a-z]' '[A-Z]' done 输出 dddddd DDDDDD sssss S ...