Visual Studio:从SQL Studio单元测试加载SQL文件

问题描述 投票:0回答:1

我正在尝试为我的一些SQL查询设置Microsoft Visual Studio单元测试环境。我的场景有点落后于典型的软件开发场景。对于我工作的任何给定的工作产品,我试图通过不同的方案,通过传递不同的参数和比较结果来执行一个查询。

我的目的是在每个单元测试中从.sql文件加载我的SQL查询。

如何在SqlServerUnitTest1.cs文件中打开我的SQL文件进行读取?

visual-studio-2013 sql-server-data-tools
1个回答
0
投票

解决这个问题很复杂,所以我将描述我所做的一般概述。其中一些可能是不必要的,但至少我的说明将帮助您了解所有重要步骤:

  1. 创建一个新的解决方案,并在其中创建一个新的单元测试项目。 (如果您像我一样使用Reporting Services,请将报告项目与其一起制作)
  2. 将查询导入测试项目,并将属性设置为“Copy if Newer”或“Always Copy”。
  3. 在测试中加载SQL文件。我写了一个形式的函数:

.

public static string LoadSqlFile(string name)
{
  string path = Path.Combine( Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
                            , @"sql\" +  name
                            );

  return File.ReadAllText(path);
}

它按文件名加载SQL文件。这是我具体问题的答案。

  1. 编写测试(使用UnitTest模板,而不是SqlServerUnitTest模板)。我编写了一些代码来从JSON生成测试,这使我的团队中的非C#用户更容易。在我的用例中,每个测试都有一个未声明的参数,该参数将传递给测试。 JSON还会列出预期结果列表,我们将其与结果进行比较。
© www.soinside.com 2019 - 2024. All rights reserved.