Xunit入门
2016-03-03 16:39
316 查看
本节记录Xunit单元测试的入门知识,以2.1版本作为入门示例。
1、新建一个类库项目
2、在Nuget中搜索xunit,这里我们只选xUnit.net和xunit.runner.visualstudio包。
其中xUnit是框架,而xunit.runner.visualstudio是vs插件包,让我们可以方便的在vs中调试。安装xunit.runner.console也可以在CMD下调试,但是如果只支持这个,相信也没多少人会用这个框架,毕竟敲命令的方式严重拉低了Visual Studio的档次,所以这里也不做讲解。
装好xunit.runner.visualstudio之后,打开 测试--》窗口--》测试资源管理器就可以在左侧窗口随时运行测试了。
先贴出官网的演示代码
xUnit支持[Fact]和[Theory]两种属性。从代码中也可以看出来,[Fact]就类似于我们写的实际调用代码,而[Theory]配合InlineData可以直接在一个方法中测试多组参数。
[Fact]和[Theory]还可以带两个参数,一个是修改显示名称,一个是跳过测试
当我们有新增的测试方法时,编译项目后自动显示在测试资源管理器中。其他简单的功能从字面上就可以看出来,就不多做解释了。
1、新建一个类库项目
2、在Nuget中搜索xunit,这里我们只选xUnit.net和xunit.runner.visualstudio包。
其中xUnit是框架,而xunit.runner.visualstudio是vs插件包,让我们可以方便的在vs中调试。安装xunit.runner.console也可以在CMD下调试,但是如果只支持这个,相信也没多少人会用这个框架,毕竟敲命令的方式严重拉低了Visual Studio的档次,所以这里也不做讲解。
装好xunit.runner.visualstudio之后,打开 测试--》窗口--》测试资源管理器就可以在左侧窗口随时运行测试了。
先贴出官网的演示代码
public class Test1 { [Fact] public void PassingTest() { Assert.Equal(4, Add(2, 2)); } [Fact] public void FailingTest() { Assert.Equal(5, Add(2, 2)); } [Theory] [InlineData(1,2)] public void TheoryPassingTest(int a, int b) { Assert.Equal(3, Add(a, b)); } [Theory] [InlineData(3, 4)] public void TheoryPassingTest2(int a, int b) { Assert.Equal(3, Add(a, b)); } int Add(int x, int y) { return x + y; } [Theory] [InlineData(3)] [InlineData(5)] [InlineData(6)] public void MyFirstTheory(int value) { Assert.True(IsOdd(value)); } bool IsOdd(int value) { return value % 2 == 1; } }
xUnit支持[Fact]和[Theory]两种属性。从代码中也可以看出来,[Fact]就类似于我们写的实际调用代码,而[Theory]配合InlineData可以直接在一个方法中测试多组参数。
[Fact]和[Theory]还可以带两个参数,一个是修改显示名称,一个是跳过测试
[Fact(DisplayName ="通过测试")] public void PassingTest() { Assert.Equal(4, Add(2, 2)); } [Fact(Skip ="跳过测试")] public void FailingTest() { Assert.Equal(5, Add(2, 2)); }
当我们有新增的测试方法时,编译项目后自动显示在测试资源管理器中。其他简单的功能从字面上就可以看出来,就不多做解释了。
相关文章推荐
- im2col函数
- [汇编程序]自己写了一些程序
- http请求过程
- opencl:改造C++接口增加对内存编译(compile)的支持
- mysql优化:数据库SQL优化大总结
- POJ 1065
- _beginThread如何传递多个参数
- more than one device/emulator问题解决方法
- 解决Jenkins的job启动tomcat时会在job结束时关闭问题
- 视图引擎Smarty的简单使用
- java基础中容易混淆的知识点
- 关于Hadoop HDFS数据均衡。
- 短路或的小妙招
- Java基础学习第十一天——Object类
- 最大子矩阵(和仅两种元素的最大子矩阵区分)(1081)
- 获取客户机的IP和主机名称
- 主表,从表,关联表,父表,子表
- [投稿]房间声学原理与Schroeder混响算法实现
- MVC5+EF6 入门完整教程七
- ExtJS4.2 树形表格