单元测试之简单说两句
为啥子要写单元啊?
为了让测试妹子在测试时少提交bug,给测试妹子留下这样的映像“程序猿哥哥好厉害”...
咳咳...
其实写单元测试应该成为一个很好的习惯,这样可以保证提交的代码的质量,提高工作效率。
都有哪些测试框架可以用呢?
1.Unit Test
2.MS Test(微软自己的,asp.net5之前创建项目时勾选上就创建了)
如图
3.xUnit
我们用哪一个单元测试框架呀?
下面要说的就是第三种单元测试框架。为什么要选择xUnit,嗯...因为微软自己都不用自己的东西,我们还有什么理由用呐O(∩_∩)O~(关于这个3个的比较不在本文讨论范围,因为本文只是简单说两句哦)
进入主题
开发环境是VS2013
创建一个类库,如图
用NuGet安装相关包,如图
在控制台输入命令install-package xunit,如图
除了使用控制台安装包之外还可以用“点点鼠标”的方法,那为啥还要使用控制台呢,这样显得B格高啊(*^__^*) 嘻嘻……如图
编写测试代码
using Xunit; namespace MyFirstUnitTests { public class Class1 { [Fact] public void PassingTest() { Assert.Equal(4, Add(2, 2)); } [Fact] public void FailingTest() { Assert.Equal(5, Add(2, 2)); } int Add(int x, int y) { return x + y; } } }
安装程序包xunit.runner.console,用于执行测试
install-package xunit.runner.console
(要记得先编译哦)执行测试,在控制台输入命令packages\xunit.runner.console.2.1.0\tools\xunit.console MyFirstUnitTests\bin\Debug\MyFirstUnitTests.dll
如图就是测试结果,有一个未通过测试
除了使用控制台命令还有其他方式吗?我大微软对程序员这么有爱,当然会提供更有爱的方式啦。那为啥还要用控制台吖,因为这样逼格高啊...vs里有个测试资源管理器的东东,如图
点击全部运行。没效果...当然没效果了,需要安装一个程序包
install-package xunit.runner.visualstudio
编译一下,点击全部运行如图
有了这个测试就方便多了,可以单独执行某一个方法,还可以设置断点调试测试等(“世界那么大,慢慢去探索”)
ps:本文内容都是在看了官方的文档和其他博客园的文章后的一个小小总结,一个初学者的笔记。希望可以得到看到此篇文章的大牛、程序猿哥哥的指点,让笔者学习成长。