Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server Visual Studio中的SQL Server单元测试:由于“对象引用未设置为对象的实例”,无法设置测试条件属性。错误_Sql Server_Visual Studio_Unit Testing_Sql Server Data Tools - Fatal编程技术网

Sql server Visual Studio中的SQL Server单元测试:由于“对象引用未设置为对象的实例”,无法设置测试条件属性。错误

Sql server Visual Studio中的SQL Server单元测试:由于“对象引用未设置为对象的实例”,无法设置测试条件属性。错误,sql-server,visual-studio,unit-testing,sql-server-data-tools,Sql Server,Visual Studio,Unit Testing,Sql Server Data Tools,我一直在VisualStudio中为SQLServer数据工具SSDT项目进行单元测试试验。我在单元测试设计器中发现了一个我不知道如何调试或解决的问题 背景: 在VisualStudio2019中,我创建了一个SSDT项目,并通过导入数据库来填充它。我发现创建能够运行SQL Server测试的独立单元测试项目的最简单方法是右键单击SSDT项目中的存储过程,然后选择create unit tests…,然后选择将单元测试添加到新项目的选项 要将新的单元测试添加到测试项目,我右键单击该项目,选择ad

我一直在VisualStudio中为SQLServer数据工具SSDT项目进行单元测试试验。我在单元测试设计器中发现了一个我不知道如何调试或解决的问题

背景:

在VisualStudio2019中,我创建了一个SSDT项目,并通过导入数据库来填充它。我发现创建能够运行SQL Server测试的独立单元测试项目的最简单方法是右键单击SSDT项目中的存储过程,然后选择create unit tests…,然后选择将单元测试添加到新项目的选项

要将新的单元测试添加到测试项目,我右键单击该项目,选择add>new Item…>SQL Server>SQL Server单元测试

问题是:

我试图将标量值测试条件添加到我的第一个SQL Server单元测试中。当我试图在属性窗口中设置期望值时,出现了一个错误对话框,指出属性值无效。详细消息是对象引用未设置为对象的实例

我发现试图在“属性”窗口中设置任何属性都会导致相同的错误。但是,没有任何迹象表明该对象是空的

通过在底层C类中设置属性值,而不是使用属性窗口,我已经能够解决这个问题。如果我这样做,测试将成功运行。因此,问题似乎仅限于测试设计者

问题不仅仅局限于标量值测试条件。我在行计数条件方面也遇到了同样的问题-我无法在“属性”窗口中设置任何属性,因为无论何时,错误对话框都阻止我更改值


是否有人遇到过类似的问题并找到了解决方案?

结果表明,该问题是由两个项目文件中的ToolsVersion属性不匹配引起的:SSDT项目和单元测试项目

我从这个MSDN线程中得到了ToolsVersion可能很重要的提示:

我卸载了,然后在VisualStudio中编辑了每个项目。我可以看到SSDT项目的ToolsVersion是4.0,尽管它是在VisualStudio2019中从头创建的,而从SSDT项目创建的单元测试项目的ToolsVersion是15.0

我将SSDT项目的ToolsVersion设置为15.0,以匹配单元测试项目

一旦我重新加载了每个项目,我就能够使用测试设计器设置测试条件属性而不会出错

为了弄清楚我在说什么,这里有一个SSDT项目文件的简化版本。您可以在项目标记顶部附近看到ToolsVersion属性:

<?xml version="1.0" encoding="utf-8"?>
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="15.0">
  <PropertyGroup>
    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
    <Name>SQlServerUnitTestingDemo</Name>
    ...
  </PropertyGroup>
  ...
</Project>