怎么在ASP.NET 5和XUnit.NET中进行LocalDB集成测试

如何在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个步骤:

  1. 把生成数据库的sql拷贝为一个部署项。本文提供了一个示例代码ItemDeployment类来完成这件事情。
  2. 执行sql来创建数据库。本文提供了一个示例代码LocalDb类完成这件事情。
  3. 在测试代码中访问数据库中的数据,验证正确性。

由于代码比较复杂,我在这里就不转贴了,有兴趣的读者就跳转到文章去自己看吧。

原文地址:http://blog.developers.ba/localdb-for-database-integration-testing-in-asp-net-5-project-and-xunit-net/