我有一个需要SQL Server单元测试的新项目,以及带有VSTS的CI/CD.
以下是所需的功能
针对存储过程的SQL服务器单元测试,为每个测试设置初始目标表并进行清理
在sql中进行单元测试
带有VSTS和Git的CI/CD
易于安装且易于使用
我查看了SSDT 2017,看起来不错.但它似乎缺少一个功能,可以在预测试步骤中的每个测试之间轻松共享通用设置脚本.它可能缺少应该可用于日常使用的其他功能.但我可能错了.
哪个工具更适合2017年的一般sql server单元测试?
sql-server visual-studio tsqlt sql-server-data-tools sql-server-unit-testing
该错误很旧,但 MS 到目前为止还没有修复它。
我有一个 VS2015 解决方案(许多项目,主要是 ASP.NET 一个),我在 VS 2017 中打开了它。
这是我尝试构建它时看到的:

所以,我想,好吧,有些引用坏了,我进入了项目引用,删除了这两个(...Sql.UnitTesting 和 ...Tools.Components),并尝试将它们添加回来。我看到了什么?当然,这个:

版本错误,它是15.1.0.0而不是之前的15.0.0.0(对于两个 DLL)。大不了,你说,但它仍然不能编译:

它告诉我版本不匹配,我必须在 web.config 文件中创建一些程序集绑定。我做了,首先手动,然后通过双击警告,正如它所建议的那样。什么都没有改变。我仍然无法构建我的项目。
以前的 SO 问题(对 Microsoft.Data.Tools.Schema.Sql.UnitTesting 的自动引用,VS2010 上的 Microsoft.VisualStudio.TestTools.UnitTesting 命名空间在哪里?)没有多大帮助,我无法删除 SSDT 组件,因为它破坏了完全加载网络项目。而我的项目不是任何类型的 SQL 测试项目。它只是一个普通的 ASP.NET 4 Web 应用程序。
我能做些什么来解决这个问题?
asp.net-mvc build-error vs-unit-testing-framework visual-studio-2017 sql-server-unit-testing
将Visual Studio单元测试项添加到Visual Studio 2017中的单元测试项目时,我收到以下错误:
The reference "Microsoft.VisualStudio.QualityTools.UnitTestFramework,
Version=15.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a,
processorArchitecture=MSIL" could not be added to the project.
This wizard will continue to run, but the resulting project may not build properly.
Run Code Online (Sandbox Code Playgroud)
该项目似乎在之后构建良好,但所有sql单元测试失败并出现以下错误:
Test Name: SqlTest1
Test FullName: UnitTestProject1.SqlServerUnitTest1.SqlTest1
Test Source: c:\[path]\SqlServerUnitTest1.cs : line 34
Test Outcome: Failed
Test Duration: 0:00:00.0278356
Result StackTrace:
at System.RuntimeType.TryChangeType(Object value, Binder binder, CultureInfo culture, Boolean needsSpecialCast)
at System.RuntimeType.CheckValue(Object value, Binder binder, CultureInfo culture, BindingFlags invokeAttr)
at System.Reflection.MethodBase.CheckArguments(Object[] parameters, Binder binder, BindingFlags invokeAttr, CultureInfo culture, …Run Code Online (Sandbox Code Playgroud) sql-server unit-testing mstest visual-studio-2017 sql-server-unit-testing