c#中单元测试
从走进.net后发现每天有写不完的代码,有做不完的测试。。。人感觉都已经机械,我们需要认清自己调整好心态,问下自己是否真的喜欢编程。我的答案当然也就是我爱编码,编码给我带来了许多欢乐,每天都给我体验小小成就。所以我要为我写的编码负责。那么先总结下测试方面的小小积累,作为以后复习的笔记。
在团队开发中单元测试扮演着一个很重要的角色。
例如:当你和你的团队一起开发时,由你写操作数据库的方法,其他人写界面,当你写好你的方法后你需要对你写的方法负责,不能说后面还有软件测试工程师,测试这种事留给他们去做。测试工程师的责任不是对项目中的方法去做验证,他们主要是测试项目的功能是否满足客户的需求,还有就是功能是否正确。而方法这些程序员必须对自己写的去负责,保证你的方法能正确运行。说点题外话:(你只有保证你项目中的方法都正确,才有可能你的功能才正确,如果有一个方法是错误的,那么功能肯定错误,如果每一个方法都是正确的,也不见得功能是正确的。所以说单元测试是保证我们项目质量的最基本测试方法)
那么单元测试是在哪些方面用到呢?
当你写数据库方法时,你想测试你的方法是否正确,这时你没有界面。又想去测试这个方法,微软为我们提供了一个最简洁的测试方法,那就是单元测试。
你只需要把鼠标移到你的方法名上鼠标右键,选择创建单元测试,说白了,就是微软为我们添加了一个项目,这时出现这样的界面:
选中你要测试的方法,确定为自己的测试方法取一个名字。
生成的项目cs文件我们只需要对这个方法进行数据测试
这里说明下:在测试中注释掉 //Assert.Inconclusive("验证此测试方法的正确性。");否则会报错;
如果这里是一个查询方法:
string 为你要查询的名称,初始化一个预期结果expccted定义取出一个将要去比较的值。
在Assert.AreEqual()方法中输入这两个值进行比较判断。
把需要的值录入完毕点击:运行当前上下文中的测试;
接着在测试结果这里检查是否通过
如果没有通过请查看详细信息追踪到错误原因,进行休正。保证写的方法通过为止。
c#中单元测试的更多相关文章
- ABP中单元测试的技巧:Mock和数据驱动
(此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 题记:虽然ABP为大家提供了测试的脚手架了,不过有些小技巧还是需要自己探索的. ASP.NE ...
- Python中单元测试出错了,会怎么样?
在上一篇中,我们看到了单元测试正常通过时的情况,如果我们边修改一下要测试的函数,然后再运行单元测试,会出现什么情况. 原say_hello_name.py def hello_name(name): ...
- Java中单元测试中:@BeforeClass,@Before,@Test,@After,@AfterClass中的问题详解
在Junit4中还有的测试注解有: @BeforeClass ,@Before,@Test,@After,@AfterClass 1.其中:@BeforeClass,@AfterClass是Juni ...
- Java、JavaWeb中单元测试用到的测试方法
写出的代码做单元测试时,一定要记住从三个方面出发:1.成功 2.异常 3 逻辑错误(即没有异常也可能程序运行出最后结果,可是呢?呵呵).这就是在做测试时我要牢记的三个方面,同时思维要严谨也即做事要 ...
- 有关VS中单元测试的一些问题
需要config的测试 测试中如果调用的类库需要使用config文件读取配置,可以通过在测试项目中建立App.config,并添加相应字段即可.
- Symfony4框架中单元测试和接口测试中的一些小坑
前提说明: symfony 版本 4.1.*,使用 composer create-project symfony/website-skeleton 进行安装. 目标:在一个单元测试用例中对当前工 ...
- python中单元测试/数据库预处理的技巧
假设文件结构: pkg/ __init__.py components/ core.py __init__.py tests/ core_test.py __init__.py python -m 你 ...
- springboot中单元测试
测试service: 测试api:
- VS中单元测试用法
using System; using Microsoft.VisualStudio.TestTools.UnitTesting; namespace UnitTestProject1 { [Test ...
随机推荐
- 五、mysql存储引擎
show variable like 'table_type'; 显示系统默认存储引擎 show engine\G 显示系统支持存储殷勤 =============================== ...
- iOS中touches事件,addtarget ...action和GestureRecognizer详解
刚学完uiview,uicontrol类,许多人知道 touchesBegain,touchesMoved,touchesEnd,GestureRecognizer的用途,但仔细考虑这些事件之间的关系 ...
- 正则表达式通过Unicode属性匹配
原文链接:http://zochen.iteye.com/blog/690716 Unicode 编码并不只是为某个字符简单定义了一个编码,而且还将其进行了归类. \pP 其中的小写 p 是 prop ...
- C# SqlConnection
public static ArrayList Connect(string connectionString, string commandText) { ArrayList retValList ...
- 1200: [HNOI2005]木梳 - BZOJ
Description Input 第一行为整数L,其中4<=L<=100000,且有50%的数据满足L<=104,表示木板下侧直线段的长.第二行为L个正整数A1,A2,…,AL ...
- unity 3d 获取鼠标当前坐标
获取当前鼠标position:Input.mousePosition;
- PAT-乙级-1031. 查验身份证(15)
1031. 查验身份证(15) 时间限制 200 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 CHEN, Yue 一个合法的身份证号码由17位地区. ...
- Linq基本用法
- 阿里云,CentOS下yum安装mysql,jdk,tomcat
首先说明,服务器是阿里云的,centos6.3_64位安全加固版.首先需要登陆进来,使用的是putty,因为最初的时候,Xshell登陆会被拒绝. 0. 创建个人文件夹 # 使用 yum 安装tomc ...
- (转)eclipse快捷键
Eclipse常用快捷键 Eclipse的编辑功能非常强大,掌握了Eclipse快捷键功能,能够大大提高开发效率.Eclipse中有如下一些和编辑相关的快捷键. 1. [ALT+/] 此快捷键为用户编 ...