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 ...
随机推荐
- (转)PHP中的 抽象类(abstract class)和 接口(interface)
转自:http://blog.csdn.net/sunlylorn/article/details/6124319 一. 抽象类abstract class 1 .抽象类是指在 class 前加了 a ...
- 阿里云Ubuntu服务器安装java环境
一.下载jdk wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-secureb ...
- 信息化的“五观”与“N为”
系统观:联系的总体的看 生产力工具观:人与工具关系 马克思政治经济学 辨证观:发展的看 技术观:第一生产力 改变生产生活(生存)方式 信息论观:“人”联网 控制论 工程观:群体合作的智力游戏论
- cmp比较指令对标志寄存器的影响
比如: mov ax,x mov bx,y cmp ax,bx cmp ax,bx的逻辑含义是比较ax,bx中的值.如果执行后: ZF=1则AX=BX ZF=0则AX!=BX CF=1则AX<B ...
- DeepID人脸识别算法之三代(转)
DeepID人脸识别算法之三代 转载请注明:http://blog.csdn.net/stdcoutzyx/article/details/42091205 DeepID,目前最强人脸识别算法,已经三 ...
- uva 11039
水题 排序 判符号 #include <cstdio> #include <cstring> #include <algorithm> using namespa ...
- Maven for Myeclipse的一个常见错误 Project configuration is not up-to-date with pom.xml
使用Myeclipse开发Maven项目时,经常会发现一个错误提示: Description Resource Path Location Type Project configuration is ...
- GridBagLayout()的使用方法
GridBagLayout是java里面最重要的布局管理器之一,可以做出很复杂的布局,可以说GridBagLayout是必须要学好的的, GridBagLayout 类是一个灵活的布局管理器,它不要求 ...
- ios loading视图动画(模仿58同城)
最近看了58同城的加载视图,感觉很不错,如下图: 所以想模仿写一个,下载58同城的app,解压,发现它用的是图片来实现的动画效果, 并不是绘制出来的,所以这就相对简单些了,其实整个动画的逻辑不复杂,无 ...
- Qt之四种等待提示框
http://blog.csdn.net/u011012932/article/details/51029602http://blog.csdn.net/u011012932/article/deta ...