xUnit安装及注意事项

简介: 前言 对于单元测试,想必大家都已再熟悉不过了,同时单元测试的重要性也越发突出,在招聘中也特别强调单元测试,但是对于微软内置的单元测试还是太过于繁琐,于是都在寻找一种简洁并且更加轻量的测试工具。用的最多的莫过于Nuit和xUnit了,关于Nuit就不再介绍,请参考园友【田园里的蟋蟀】文章,由于早期的xNunit安装已经被弃用,所以需要注意,下面只是简单的说明其安装过程,特此记录,以备忘。

前言

对于单元测试,想必大家都已再熟悉不过了,同时单元测试的重要性也越发突出,在招聘中也特别强调单元测试,但是对于微软内置的单元测试还是太过于繁琐,于是都在寻找一种简洁并且更加轻量的测试工具。用的最多的莫过于Nuit和xUnit了,关于Nuit就不再介绍,请参考园友【田园里的蟋蟀】文章,由于早期的xNunit安装已经被弃用,所以需要注意,下面只是简单的说明其安装过程,特此记录,以备忘。

话题

首先新建一个带有单元测试的应用程序,在此之前得注意下:如果你之前安装了Visual Studio Runner VSIX扩展,你必须首先卸载它,因为最新版本已经通过NuGet程序包来下载,在工具->扩展和更新中卸载其扩展,然后告知你重启即可。可能你在运行测试时也会出现问题,可能是因为Runner缓存的缘故,此时你应该关闭VS,然后删除这个文件夹%TEMP%\VisualStudioTestExplorerExtensions

 

接下来就是在单元测试中通过NuGet安装xUnit程序包了,输入xunit,接着如图所示安装Xunit.net

通过新建的测试会默认添加一个类,此类如下:

    [TestClass]
    public class UnitTest1
    {
        [TestMethod]
        public void TestMethod1()
        {
        }
    }

接下来我们需要用到我们安装的xUnit,首先添加引用XUnit,然后将类中的方法修改为Fact而无需对类进行特性识别并进行测试:

    public class UnitTest1
    {
        [Fact]
        public void TestMethod1()
        {
            Xunit.Assert.Equal(4, Add(2, 3));
        }

        int Add(int x, int y)
        {
            return x + y;
        }
    }

然后打开:测试->窗口->测试资源管理器,左侧会出现测试窗口,点击全部运行,结果如下:

如上述图所示,此时只会显示生成成功,并未出现我们想要的结果。

注意事项

其实此时的测试管理器根本就未运行单元测试,必须要借助xUnit中的运行环境利用测试管理器来运行VS中的测试,此时我们继续在单元测试中通过NuGet安装xunit.runner.visualstudio,然后重新生成下,你会发现出现如下的结果:

这就说明添加的程序包已经起做用了,接下来你只需点击全部运行或者把鼠标放在通过上,出现运行点击即可,结果如下:

根据方法Equal中的第一个参数你需要测试的数据和第二个参数你实际的数据来判断是否相等,很明显结果错误,我们将其修改为相等再试试,结果如下,通过:

如果你是在控制器程序中进行单元测试,添加xunit.runner.console即可。

总结

xUnit是Nuit的升级版本,并且xUnit在VS2015上以及其他比如Xamarin中也已经得到了具体实现,所以利用它来进行单元测试再好不过了,当然你也不用担心收费,因为它是开源的。

参考资料  

官方文档:Running xUnit.net tests in Visual Studio  

github:xunit-github

目录
相关文章
|
6月前
|
IDE 开发工具 C语言
QT案例IDE编写 -- 编译操作
QT案例IDE编写 -- 编译操作
50 0
|
6月前
|
C++ 计算机视觉
Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法
Visual Studio新项目快速配置已有项目中编译好的C++第三方库的方法
143 1
|
敏捷开发 IDE 测试技术
单元测试PHPUnit初体验之安装与示例
啥?你是程序员没写过单元测试?呃,好吧。小马这次也是需要支持CI/CD才刚开始强制自我实行。
131 0
单元测试PHPUnit初体验之安装与示例
|
缓存 Java 程序员
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
GO语言也称为Golang,由谷歌出品,随着云计算的发展而不断壮大,近年来,使用GO语言的程序员越来越多,GO程序员一般被称为GOpher。由于博主硬盘空间较为充足,不考虑移动软件安装目录,需要者请自行寻找方法,本文为无脑操作。
387 0
2023年最新无脑安装 Go lang 环境配置并编写、运行、打包第一个 Golang 程序详细步骤,附带图文教程
|
区块链 C语言 虚拟化
QT程序打包发布Release时的注意事项
QT程序打包发布Release时的注意事项
|
Ubuntu 编译器 Linux
Linux驱动开发笔记(三):基于ubuntu的helloworld驱动源码编写、makefile编写以及驱动编译加载流程测试
前面学习了驱动的基础框架,上一篇编译了gcc7.3.0,那么为了方便很好的熟悉流程,本篇,将使用ubuntu18.04,直接编译ubuntu18.04的驱动,然后做好本篇文章的相关实战测试。
|
Java 数据安全/隐私保护 Windows
idea2022版本下载安装配置卸载(包含运行第一个java程序教程)详细步骤
JDK和IDEA的关系举个例子 JDK:武器(java开发集成环境) IDEA:战士 (java开发软件)
470 0
idea2022版本下载安装配置卸载(包含运行第一个java程序教程)详细步骤
|
Java Shell Linux
Mac阅读spring 5.0.x版本源码准备(windows差不多一样),附报错解决及准备阶段调试
Mac阅读spring 5.0.x版本源码准备(windows差不多一样),附报错解决及准备阶段调试
Mac阅读spring 5.0.x版本源码准备(windows差不多一样),附报错解决及准备阶段调试
|
Ruby
《Cucumber:行为驱动开发指南》——2.3 创建步骤定义
现在在fetures/step_definitions目录下创建一个名为calculator_steps.rb的文件,只要这是一个Ruby文件,Cucumber并不介意你给这个文件起什么名字,但这里我们给这个文件起的名字其实不错。
2387 0
|
Ubuntu Shell 计算机视觉
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)
Qt实用技巧:ubuntu发布程序打包流程(解决插件xcb加载失败)