gpt4 book ai didi

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

转载 作者:太空宇宙 更新时间:2023-11-03 23:26:52 26 4
gpt4 key购买 nike

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

附言:

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

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 文件?

最佳答案

假设 SSDT 安装在运行测试的机器上,您可以在 TearDown 中通过 shell 命令运行 sqlpackage.exe。 sqlpackage.exe 是 SSDT 用来发布数据库的。

[TearDown]
public void TearDown() {
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"C:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\sqlpackage.exe /Action:Publish /SourceFile:C:\DbProject\bin\Debug\DbProject.dacpac /TargetServerName:localhost /TargetDatabaseName:TestDb";
p.StartInfo.UseShellExecute = true;
p.Start();
}

参见 here对于 sqlpackage.exe 参数。请注意,sqlpackage.exe 可能与我在上面使用的路径不同。

关于c# - SSDT 项目 + 集成/端到端测试 + TearDown,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33565451/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com