如何在ASP.NET 5和XUnit.NET中进行LocalDB集成测试
今天继续昨天的话题——单元测试,不过是在ASP.NET 5中的单元测试。
在当前的Visual Studio 2015 CTP6中,MSTest是不支持对ASP.NET 5项目进行单元测试的。因而,要对ASP.NET 5进行单元测试(或集成测试),就需要引入其它测试框架,比如XUnit.NET。
引入XUnit.NET很简单,就是添加XUnit.NET的Nuget包(在package.json文件中添加如下内容):
"xunit": "2.1.0.0-beta1-build2945",
"xunit.runner.aspnet": "2.1.0.0-beta1-build60",
"xunit.runner.visualstudio": "2.1.0.0-beta1-build1051"
要在测试中集成LocalDB,一般分作3个步骤:
- 把生成数据库的sql拷贝为一个部署项。本文提供了一个示例代码ItemDeployment类来完成这件事情。
- 执行sql来创建数据库。本文提供了一个示例代码LocalDb类完成这件事情。
- 在测试代码中访问数据库中的数据,验证正确性。
由于代码比较复杂,我在这里就不转贴了,有兴趣的读者就跳转到文章去自己看吧。