C#单元测试Nunit小结
1、 下载和安装Nunit工具:
NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装;

2、 在VS2010中做配置:
Ø 选择【工具】——【外部工具……】

Ø 点击【添加】,在<标题>和<命令>中分别填写名称和指定外部工具启动的exe

Ø 在【工具】下面可以看到刚添加配置的外部工具“Nunit2.6”,后面就可以直接通过VS这里来启动Nunit;

3、 单元测试的一般流程:
Ø 被测试的项目以及函数

Ø 新建一个项目,作为测试项目

Ø 一般我们新建测试项目,选择类库就够了,名称用被测试的项目后面加上Test;

Ø 这里,我们直接将生成的类改名成被测试的类,以后该被测试类的方法做的单元测试用例都可以放着这个测试类中

Ø 我们首先需要在测试项目中引用被测试的程序集和nunit framwork

Ø 被测程序集的引用

Ø nunit framwork的引用

做完后后,我们可以在测试项目的引用下面看到:

Ø 在测试类中添加“using Nunit.Framework”

Ø 设计和编写单元测试用例,我们需要注意:
² 我们使用的是nunit框架,所以在测试类中需要在添加[TestFixture]和[Test]来标示这是一个测试类和测试方法
² 测试方法的返回类型必须是void,方法参数为空
² 另外我们可以通过属性来做一些控制,以便使用更加灵活
² 用Assert断言来比对预期结果和实际结果

Ø 生成测试项目(也就是我们说的编译)

Ø 通过VS打开Nunit工具,【工具】——【Nunit2.6】

Ø 新建一个project,【file】——【New Project…】

Ø 选择路径和填写名称

Ø 在项目中,添加测试程序集,【Project】——【Add Assembly…】

我们可以看到三个程序集,被测试的程序集,测试程序集和nunitframework的

Ø Nunit 工具中展示的和我们设计的单元测试用例一致

Ø 运行后我们可以看到测试结果,红色表示失败、黄色表示未运行、绿色表示通过

² 失败的结果

² 忽略不运行的结果

C#单元测试Nunit小结的更多相关文章
- C#单元测试Nunit小结(20141018)
1. 下载和安装Nunit工具: NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,然后在系统中安装: 2. 在 ...
- Unity 单元测试(NUnit,UnityTestTools)
在软件开发中单元测试是非常重要的一个环节, =.=盘子脸去了几家公司都没有单元测试这个概念. 我们的系统虽然从代码看上是分离的, 在多数情况下都需要依赖于其他模块来运行.(单元测试部分内容教我解决这个 ...
- 使用Junit对Spring进行单元测试实战小结
Demo代码: @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath*:/ ...
- 单元测试NUnit 的文章
请参考 https://www.cnblogs.com/ranh941/p/7629279.htmlhttps://blog.csdn.net/qincode/article/details/1831 ...
- 单元测试NUnit,mock组件NSubstitute,信号量SemaphoreSlim,异步lock等例子
public class LockTest { private IDatabase _database; private readonly Random _random = new Random(); ...
- Nunit NMock Ncover单元测试
Nunit中如何进行事务性单元测试 单元测试要求:单元测试方法并不真正去变更数据库,也就是说单元测试不依赖于数据库中的数据.那我们如何解决执行单元测试方法后,不变更数据库中数据呢? 一般的解决方案 ...
- 好代码是管出来的——.Net Core中的单元测试与代码覆盖率
测试对于软件来说,是保证其质量的一个重要过程,而测试又分为很多种,单元测试.集成测试.系统测试.压力测试等等,不同的测试的测试粒度和测试目标也不同,如单元测试关注每一行代码,集成测试关注的是多个模块是 ...
- 使用xUnits来实现单元测试
目录 前言 单元测试 xUnit 小结 附录 前言 从开始敲代码到现在,不停地都是在喊着记得做测试,记得自测,测试人员打回来扣你money之类的,刚开始因为心疼钱(当然还是为了代码质量),就老老实实自 ...
- 我的TDD实践---UnitTest单元测试
我的TDD实践---UnitTest单元测试 “我的TDD实践”系列之UnitTest单元测试 写在前面: 我的TDD实践这几篇文章主要是围绕测试驱动开发所展开的,其中涵盖了一小部分测试理论,更多的则 ...
随机推荐
- vue-element-ui upload组件调用两次接口
在使用upload中,默认是自动上传,会发现会调用两次接口,一次是Request Method: OPTIONS且不带任何参数(群里大佬说是跨域 预检测),一次是Request Method: POS ...
- Shiro单Realm加密
首先,我们要明确认证的流程: 1. 获取当前的 Subject. 调用 SecurityUtils.getSubject(); 2. 测试当前的用户是否已经被认证. 即是否已经登录. 调用 Subje ...
- 脚本_查看当前系统每个IP的连接数
#!bin/bash#作者:liusingbon#功能:查看当前系统每个IP的连接数netstat -n | awk '/^tcp/ {print $5}'| awk -F: '{print $1}' ...
- vscode remote-ssh 远程开发
https://www.jianshu.com/p/7fcd995a408d 连是连上了,但每隔几十秒就会断开重连,不知道是什么情况...
- JS语法基础-基本使用及数据类型分类
JS基础 --------------- 什么是JS? ------------------ JS的全称是Javascript. ----------------------------- 老婆和老婆 ...
- 【NOIP2014模拟8.17】Magical GCD
题目 对于一个由正整数组成的序列, Magical GCD 是指一个区间的长度乘以该区间内所有数字的最大公约数.给你一个序列,求出这个序列最大的 Magical GCD. 分析 根据暴力的思想, \( ...
- 牛客挑战赛34 A~E
闷声发大财 A O(nmk)dp即可,因为带了1/2的常数+2s所以很稳 #include <algorithm> #include <iostream> #include & ...
- 1.端口被占用问题:Embedded servlet container failed to start. Port 8097 was already in use.
1.端口被占用问题:Embedded servlet container failed to start. Port 8097 was already in use.netstat -anonetst ...
- MySQL5.7数据转移至SQL Server详解
本文链接:https://blog.csdn.net/qq_37308779/article/details/80679358一.安装MySQL ODBC驱动为MySQL安装Connector/ODB ...
- python 线程模块
Python通过两个标准库thread和threading提供对线程的支持.thread提供了低级别的.原始的线程以及一个简单的锁. threading 模块提供的其他方法: threading.cu ...