SSDT项目+集成/端到端测试+ TearDown

问题描述 投票:1回答:3

我们假设我有一个sql server数据工具项目(SSDT)和一堆集成/端到端测试(故意不说单元测试)。有没有办法通过测试类库中的代码TearDown并重新发布现有的测试数据库?

PS:

我目前正在尝试这个(路径和文件名简化):

var p = new System.Diagnostics.Process
{
    StartInfo =
    {
    FileName =
        @"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe /Action:Publish /SourceFile:“D:\Database_20151114_18-23-29.dacpac” Profile:”D:\LocalDatabase.publish.xml”",
    UseShellExecute = true
    }
};
p.Start();

不幸的是,我得到了:

{"The system cannot find the file specified"}

dacpac和xml文件绝对存在。有任何想法吗?此外,是否可以自动创建最新的dacpac文件?

c# nunit integration-testing xunit sql-server-data-tools
3个回答
1
投票

是的,完全自动化整个过程是绝对可能的。它大致如下:

  • Microsoft.Build库的引用添加到端到端测试项目中
  • 使用该库从代码构建测试项目以获得最新的DacPac
  • 使用Microsoft.SqlServer.Daceither NuGet添加对installing the SSDT tools库的引用
  • 使用该库中的Dac相关类和方法,在每个测试开始时使用创建的构建DacPac发布数据库的新副本。

这个excellent existing answer有关于如何做到这一点的所有细节。

© www.soinside.com 2019 - 2024. All rights reserved.