xUnit安装及注意事项

简介:

前言

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

话题

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

 

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

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

1
2
3
4
5
6
7
8
[TestClass]
public  class  UnitTest1
{
     [TestMethod]
     public  void  TestMethod1()
     {
     }
}

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

1
2
3
4
5
6
7
8
9
10
11
12
13
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








本文转自Jeffcky博客园博客,原文链接:http://www.cnblogs.com/CreateMyself/p/4853074.html,如需转载请自行联系原作者


目录
相关文章
|
7月前
|
Java 测试技术 Python
《手把手教你》系列基础篇(八十一)-java+ selenium自动化测试-框架设计基础-TestNG如何暂停执行一些case(详解教程)
【6月更文挑战第22天】本文介绍了如何在TestNG中不执行特定测试用例。当部分模块未准备好时,可以通过以下方式暂停测试:③使用`@Test(enabled=false)`注解来禁用测试用例。作者提供了一个Java Selenium自动化测试的示例,展示如何通过修改`enabled`参数控制测试方法的执行。代码中,`testSearch2()`方法被禁用,因此在测试运行时不执行。文章还包含了测试报告和执行过程的截图。
68 7
|
8月前
|
程序员 开发者 Python
Python新手常见问题五:如何避免模块导入错误?
在Python编程中,模块的导入是每个开发者必须掌握的基础技能之一。模块化设计让代码更加有序、可复用和易于维护。然而,在实际操作过程中,新手程序员常常会遇到一些关于模块导入的问题,导致程序无法正常运行。本文将探讨几种常见的模块导入场景及容易犯错的操作,并提供相应的解决方案。
1012 4
|
自然语言处理
自己写代码解析工具的注意事项
自己写代码解析工具的注意事项
84 0
|
XML Oracle 搜索推荐
Hibernate开发环境的简单搭建及常见错误(一)下
Hibernate开发环境的简单搭建及常见错误(一)
189 0
Hibernate开发环境的简单搭建及常见错误(一)下
|
XML 存储 缓存
Hibernate开发环境的简单搭建及常见错误(一)上
Hibernate开发环境的简单搭建及常见错误(一)
163 0
Hibernate开发环境的简单搭建及常见错误(一)上
|
Python
2018-04-27 搭建Python官方文档翻译环境-汉化示例代码
演示翻译Python官方文档的示例代码中的标识符. Demonstrate translating the identifiers in the sample programes in official Python tutorials.
862 0
项目编写时的注意事项
标签(空格分隔): 个人总结 最近学了很多知识点,也通过几个作业、项目将这些知识点串联在一起,相互协作完成一个程序丰富的功能。 在写项目的时候,最大的困难是没有一个很好的编写流程。虽然对于项目的每一个功能都可以单独的分析并提出解决方法和思路,也可以写出对应的知识点来完成此功能。
|
测试技术 程序员 数据库连接