(此文章同时发表在本人微信公众号“dotNET每日精华文章”,欢迎右边二维码来关注。)
题记:想必很多人已经和我一样在使用ASP.NET 5开发真实世界的应用了,那么做好单元测试和集成测试是必不可少的。现在首选使用的测试框架是xUnit,而它的官方文档中的一篇文章其实是一个很好的入门向导。
虽然之前我也介绍过在DNX/ASP.NET 5中进行单元测试或者集成测试的文章,且这些文章都在一致使用xUnit,不过对于xUnit的具体使用反而讲解的不够清楚(或者说不够简单易懂)。其实,在xUnit的官方文档中,已经更新了一篇专门针对DNX/ASP.NET 5的入门向导,可以帮助初学者快速地上手。
文章主要讲解了6个部分(或步骤):
- 创建一个Class Library (Package)的项目。这是DNX/ASP.NET 5的专有项目,想要测试DNX/ASP.NET 5的项目,必须建立这种项目类型来作为测试项目。
- 在project.json中添加
xunit
和xunit.runner.dnx
的引用。注意有些文章中可能误导你安装xunit.runner.aspnet
或者xunit.runner.visualstudio
,都是不需要的。添加这两个包之后,project.json会被自动添加上一个test的command。 - 编写Fact测试。写法和之前的xUnit写法没有两样。当然在DNX/ASP.NET 5中可能会需要一些技巧,后面我会集中分享一些使用心得。
- 从控制台运行测试。在正确配置dnx运行环境之后,可以通过在命令行输入
dnx . test
来运行测试。 - 编写Theory测试。xUnit中除了提供Fact测试外,也提供了Theory测试。前者总是应该成立,测试的是不可变的条件;后者只在某些条件下才会成立。
- 在Visual Studio中运行测试。由于
xunit.runner.dnx
这个包实际上已经包含了之前xunit.runner.visualstudio
的代码,所以只要项目编译通过,在VS的Test Explorer中就可以显示出测试条目。
基本上,对于初学者,只要读懂了这篇文章,那么对于xUnit在DNX/ASP.NET 5中的基本使用是没有问题的。