sql-server - Visual Studio Online 中的数据库集成测试

标签 sql-server database integration-testing azure-devops

我很喜欢 Visual Studio Online 中的新构建工具。允许我做几乎所有我在本地构建服务器上做的事情。但我缺少的一件事是集成数据库测试:对于每次构建运行,我都会从脚本中重新创建测试数据库并对其运行数据库测试。

在 Visual Studio Online 中,我似乎找不到任何可满足我需要的数据库实例。

我已尝试为每次构建运行创建 Azure SQL 数据库(通过 PowerShell),然后在构建完成后将其删除。但是创建数据库需要很长时间(与构建过程的其余部分相比)。甚至当 PowerShell 脚本完成后,数据库还没有准备好接受请求——我需要不断地检查它是否真的准备好了。因此,这种情况变得过于复杂且不可靠。

是否有其他选项可以在 Visual Studio Online 中进行数据库 (SQL Server) 集成测试?

更新:我想我不是很清楚我需要什么 - 我需要一个免费(非常便宜)的 SQL Server 实例来连接到在 VSO 中的构建代理上运行的实例。类似于 SQL Express 或 SQL CE 或 LocalDB,我可以在其中连接并重新创建数据库以运行 C# 测试。重新创建数据库或运行测试不是问题,拥有有效的连接字符串才是问题。

2016 年 10 月更新: I've blogged关于我如何在 VSTS 中进行集成测试

最佳答案

TFS 构建服务器预装了 MSSQL Server 2012 和 MSSQL Server 2014 LocalDB。

来源: TFS Service - Software on the hosted build server

因此,只需将以下一行代码放入解决方案的构建后事件中,即可根据您的需要创建 MYTESTDB LocalDB 实例。这将允许您连接到 (LocalDB)\MYTESTDB 并运行数据库集成测试。

"C:\Program Files\Microsoft SQL Server\120\Tools\Binn\SqlLocalDB.exe" create "MYTESTDB" 12.0 -s

来源: SqlLocalDB Utility

关于sql-server - Visual Studio Online 中的数据库集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34602206/

相关文章:

sql-server - SQL 中的高效日期比较

sql-server - SQL Server : One Table with 400 Columns or 40 Tables with 10 Columns?

java - Spring:单元和集成测试

mysql - 通过 Visual Studio 设置本地数据库以与 Node.Js 一起使用

mysql - CakePHP 将数据快照保存为 XML/JSON

ruby-on-rails-3 - 使用 Capybara 测试焦点

scala - mutable.Buffer 不适用于类型安全 API 的 Scalding JobTest

python - 使用 fetchall() 时转换查询结果类型

sql-server - 如果相同的 id 重复,则限制行数

php - 如果选择了选项,则显示另一个选项中的值