我们假设我有一个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文件?
是的,完全自动化整个过程是绝对可能的。它大致如下:
Microsoft.Build
库的引用添加到端到端测试项目中Microsoft.SqlServer.Dac
或either NuGet添加对installing the SSDT tools库的引用这个excellent existing answer有关于如何做到这一点的所有细节。