如何使用Nunit进行测试(Visual Studio 2017 comminity)
一、环境
操作系统:Windows 版本 10.0.15063 64位
集成环境:Visual Studio 2017 comminity(此后简称vs2017)
编程语言:C#
目标框架:.NET Framework 4.6.3
测试框架:NUnit3,涉及到的组件NUnit 3 Test Adapter(V3.8.0),NUnit VS Templates(V1.3),Test Generator NUnit extension(V2.0)以及NUnit(v3.8.1)。
单独列出强调:该博客操作只针对上述环境安装NUnit和使用NUnit成功,对其他人只作参考,即使你的环境和我上面描述的环境一模一样,仍有可能安装或者使用失败。请提前做好心理准备。
二、安装过程
step0
点击vs2017菜单栏中的“工具”---》选中“拓展和更新”。

step1
点击选项“联机”---》在右侧的搜索栏输入“Nunit”。

step2
完成step1操作后,请分别选中NUnit 3 Test Adapter,NUnit VS Templates和Test Generator NUnit extension,出现下图。标记1/2/3右上角出现一个小时钟。

step3
此时关闭vs2017所有界面。稍等1~3秒出现下图。

选中修改,等待。继续来图,最终安装成功后的界面。

step4
重启vs2017,重复step0的操作。点击选项“已安装”---》在右侧的搜索栏输入“Nunit”。出现下图,即说明Nunit前3个组件已安装好。

三、使用
step0
在vs2017中新建一个控制台项目UNitTest。

namespace UNitTest
{
class Program
{
public bool IsValid(int opt)
{
if (opt > 100)
{
return true;
}
return false;
}
public int AddData(int a, int b)
{
return (a + b);
}
static void Main(string[] args)
{
}
}
}
step1
点击vs2017菜单栏中的“工具”---》选中“NuGet包管理器”---》选中“管理解决方案的NuGet程序包”。

step2
完成step1操作后,出现下图。

点击“浏览”,在搜索栏搜索“NUnit”,选中NUnit(红色标记M,此时版本v3.8.1),H处为你需要导入包的项目,选中你的目标项目(此时为测试项目UNitTest),点击“安装”(K处),确定安装。
step3
点击解决方案中的项目名(UNitTest)---》选中“添加”---》选中“新建项”。

step4
选中“Visual C#项”---》选中“Test”--->选中“NUnit Test Fixture”。测试类的名字“TestClass1.cs”

step5
此时还需要启动vs2017的测试资源管理器,否则无法运行测试类。
点击vs2017菜单栏中的“测试”---》选中“窗口”---》选中“测试资源管理器”。

完成上述操作,出现下图。

点击红标1是运行测试类中的所有测试,而红标2则是选择性运行测试类中的测试。
而如果只想对某个函数运行测试,而不运行其他测试。则是在测试类中选中测试函数名后右击,选择“运行测试”。比如我只想运行测试TestIsValid,而不运行测试TestAddData,选中TestIsValid,右键选择“运行测试”,出现下图。

step6
此时就可以通过新建的测试类"TestClass1.cs"对被测试项目UNitTest进行单元测试。
四、可能会遇到的问题
- 问题1:出现“仅非测试项目和公共类或公共方法支持“创建单元测试””错误信息。
截图:

解决方法:新建测试类或测试项目对测试项目进行单元测试。
如何使用Nunit进行测试(Visual Studio 2017 comminity)的更多相关文章
- Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试
由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...
- 深入研究Visual studio 2017 RC新特性
在[Xamarin+Prism开发详解三:Visual studio 2017 RC初体验]中分享了Visual studio 2017RC的大致情况,同时也发现大家对新的Visual Studio很 ...
- Xamarin+Prism开发详解三:Visual studio 2017 RC初体验
Visual studio 2017 RC出来一段时间了,最近有时间就想安装试试,随带分享一下安装使用体验. 1,卸载visual studio 2015 虽然可以同时安装visual studio ...
- Microsoft Visual Studio 2017 for Mac Preview 下载+安装+案例Demo
目录: 0. 前言 1. 在线安装器 2. 安装VS 3. HelloWorld 4. ASP.NET MVC 5. 软件下载 6. 结尾 0. 前言: 工作原因,上下班背着我的雷神,一个月瘦了10斤 ...
- 最强 IDE Visual Studio 2017 正式版发布
Visual Studio 2017 正式版发布,该版本不仅添加了实时单元测试.实时架构依赖关系验证等新特性,还对许多实用功能进行了改进,如代码导航.IntelliSense.重构.代码修复和调试等等 ...
- Visual Studio 2017正式版安装
Visual Studio号称宇宙第一IDE, 2017年3月7日强大的微软帝国时隔两年多终于发布新一代IDE Visual Studio 2017.支持的功能简直不能太多,详情移步:https:// ...
- Visual Studio 2017 针对移动开发的新特性介绍
欢迎大家持续关注葡萄城控件技术团队博客,更多更好的原创文章尽在这里~~ Visual Studio是世界上最好的IDE之一,如果是 .NET世界,那就没有之一了(^_^),而最近推出的Visual S ...
- Visual Studio 2017 for Mac 体验之Android.Form
微软官方说明: Visual Studio 2017 for Mac Last Update: 2017/6/16 我们非常荣幸地宣布 Visual Studio 2017 for Mac 现已推出. ...
- visual Studio 2017 扩展开发(一)《向Visual Studio菜单栏新增一个菜单》
最近有接触到关于visual studio 2017 扩展的开发,特此记录,也是为了督促自己去深入了解其原理. 开始开发Visual Studio 扩展,在这里我安装了visual studio 20 ...
随机推荐
- ant___令牌过滤器
令牌过滤器允许我们在复制时过滤文件中的数据.要进行过滤,需要使用一个必须与过滤器任务中的@token @设置匹配的标记.任务使用@作为标记分隔符.为了实现此功能,apache ant提供了使用toke ...
- shiro 分布式缓存用户信息
很多分布式缓存登录用户信息一般都是存在redis类似的缓存里面.其中实现细节或者拆分都是大同小异. 一般用户登录权限管理都用shiro处理. 如果仔细分应该就是一下3种. 1,有一个单独的用户权限管理 ...
- jsp/servlet学习四之jsp初窥
jsp页面本质上是一个servlet,jsp页面是一个以.jsp结尾的文本文件. jsp自带的API包含4个包: javax.servlet.jsp.包含用于servlet/jsp容器将jsp页面翻译 ...
- 一小时学会 C# 6.0
一.字符串插值 (String Interpolation) C# 6之前我们拼接字符串时需要这样 var Name = "Jack"; var results = "H ...
- robot framework学习二-----元素定位
文章摘自:https://www.cnblogs.com/fnng/p/3901391.html 不要误认为Robot framework 只是个web UI测试工具,更正确的理解Robot fram ...
- POJ 3984(DFS入门题 +stack储存路径)
POJ 3984 Description 定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, ...
- [Hibernate] One-To-Many 配置文件和注解的方式以及HQL语句
一对多需要在一的类配置多的类的set泛型集合. 多的一端需要添加一的类作为属性,其和数据库对应的是对应表的主键. 一个购物车有多个商品,购物车有个cart_id作为主键,商品除了自己的items_id ...
- yum命令报错 yum update File "/usr/bin/yum", line 30 except KeyboardInterrupt, e: --CentOS7.5
1.问题: 使用yum命令如:yum update 报SyntaxError invalid syntax 2.原因分析 yum的解释器是Python,CentOS自带的yum采用(自带的)pytho ...
- JavaScript基础四
1.13 Js中的面向对象 1.13.1 创建对象的几种常用方式 1.使用Object或对象字面量创建对象 2.工厂模式创建对象 3.构造函数模式创建对象 4.原型模式创建对象 1.使用Object或 ...
- zzw原创_非root用户启动apache的问题解决(非root用户启动apache的1024以下端口)
场景:普通用户编译的apache,要在该用户下启动1024端口以下的apache端口 1.假设普通用户为sims20,用该用户编译 安装了一个apache,安装路径为/opt/aspire/produ ...