标签: sql-server-unit-testing

TSQL单元测试工具2017:SQL Server数据工具2017与tSQLt

我有一个需要SQL Server单元测试的新项目,以及带有VSTS的CI/CD.

以下是所需的功能

  • 针对存储过程的SQL服务器单元测试,为每个测试设置初始目标表并进行清理

  • 在sql中进行单元测试

  • 带有VSTS和Git的CI/CD

  • 易于安装且易于使用

我查看了SSDT 2017,看起来不错.但它似乎缺少一个功能,可以在预测试步骤中的每个测试之间轻松共享通用设置脚本.它可能缺少应该可用于日常使用的其他功能.但我可能错了.

哪个工具更适合2017年的一般sql server单元测试?

用于Visual Studio的SQL Server数据工具

TSQLT

sql-server visual-studio tsqlt sql-server-data-tools sql-server-unit-testing

9
推荐指数
2
解决办法
3442
查看次数

缺少 Microsoft.Data.Tools.Schema.Sql.UnitTesting。再次

该错误很旧,但 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

6
推荐指数
3
解决办法
9612
查看次数

将SQL Server单元测试项添加到Visual Studio 2017中的单元测试项目时出错

将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

3
推荐指数
1
解决办法
634
查看次数