如何重命名 tSQLt 测试类?

2023-11-27

我正在使用以下方法开发数据库红门 SQL 开发人员 tools. SQL Test运行 tSQLt 测试的 SSMS 加载项缺少重命名测试类的方法。

我有一个测试叫[BackendLayerCustomerAdministrationTests].[test uspMaintainCustomerPermissions throws error when PermissionValue is missing or empty].

名字好长啊破坏部署管理器.

2013-12-05 18:48:40 +00:00 错误 指定的路径、文件名或两者都太长。完全限定文件名必须少于 260 个字符,目录名必须少于 248 个字符。

这个类中还有其他笨拙的测试名称,所以我想从缩短类名开始。

更简洁的类名是CustomerTests.

sp_重命名这里没有帮助。

EXECUTE sys.sp_rename
  @objname = N'BackendLayerCustomerAdministrationTests',
  @newname = N'CustomerTests';

消息 15225,级别 11,状态 1,过程 sp_rename,第 374 行 由于 @itemtype 输入为“(null)”,因此在当前数据库“ApiServices”中找不到名称为“BackendLayerCustomerAdministrationTests”的项目。

我该如何改变它?


tSQLt 测试类是具有特殊扩展属性的模式。

Cade Roux 的出色解决方案重命名模式是创建一个新模式,传输所有对象,然后删除旧模式。

如果我们在这里这样做,我们就会失去扩展属性。

让我们对其进行调整以适应 tSQLt 框架。

如何重命名 tSQLt 测试类

创建一个新的测试类。

EXECUTE tSQLt.NewTestClass
  @ClassName = 'CustomerTests';

您应该在tSQLt.TestClasses view.

SELECT *
FROM tSQLt.TestClasses;

 Name                                      SchemaId
----------------------------------------- ----------
 SQLCop                                           7
 BackendLayerCustomerAdministrationTests         10
 CustomerTests                                   14

凯德使用克里斯谢弗的选择变量串联建立传输语句列表并打印结果的技巧。

DECLARE @sql NVARCHAR(MAX) = N'';

SELECT @sql = @sql +
N'ALTER SCHEMA CustomerTests
TRANSFER BackendLayerCustomerAdministrationTests.' + QUOTENAME(name) + N';' +
CHAR(13) + CHAR(10)
FROM sys.objects
WHERE SCHEMA_NAME([schema_id]) = N'BackendLayerCustomerAdministrationTests';

PRINT @sql;

丑陋,但有效。

复制输出并作为新查询执行。

ALTER SCHEMA CustomerTests
TRANSFER BackendLayerCustomerAdministrationTests.[test uspMaintainCustomer validate merged data];
ALTER SCHEMA CustomerTests
TRANSFER BackendLayerCustomerAdministrationTests.[test uspMaintainCustomerPermissions throws error when PermissionValue is missing or empty];

我在这里只展示了两个测试,但它应该适用于所有测试。

现在放弃旧的测试类。

EXECUTE tSQLt.DropClass
  @ClassName = N'BackendLayerCustomerAdministrationTests';

旧的类应该从视野中消失。

SELECT *
FROM tSQLt.TestClasses;

 Name                                      SchemaId
----------------------------------------- ----------
 SQLCop                                           7
 CustomerTests                                   14

再次运行所有测试以检查其是否有效。

EXECUTE tSQLt.RunAll;

+----------------------+                                                       
|Test Execution Summary|                                                       
+----------------------+                                                       

|No|Test Case Name                                                              |Result |
+--+----------------------------------------------------------------------------+-------+
|1|[CustomerTests].[test uspMaintainCustomer throws error on missing APIKey]   |Success|
|2|[CustomerTests].[test uspMaintainCustomerPermissions validate merged data]  |Success|
|3|[SQLCop].[test Decimal Size Problem]                                        |Success|
|4|[SQLCop].[test Procedures Named SP_]                                        |Success|
|5|[SQLCop].[test Procedures using dynamic SQL without sp_executesql]          |Success|
|6|[SQLCop].[test Procedures with @@Identity]                                  |Success|
|7|[SQLCop].[test Procedures With SET ROWCOUNT]                                |Success|
-------------------------------------------------------------------------------
Test Case Summary: 7 test case(s) executed, 7 succeeded, 0 failed, 0 errored.
-------------------------------------------------------------------------------

Success!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何重命名 tSQLt 测试类? 的相关文章

  • 当页面重新加载时,JavaScript setTimeout 函数是否停止?

    如果我发起一个setTimeout函数从触发器 当页面重新加载时函数会停止吗 我发起一个setTimeout功能periodic update on the onload我的页面的事件 这是否创建了多个实例periodic update 功
  • C++0x 将不再有概念。意见?这将如何影响你?

    在 2009 年 7 月C 0x 法兰克福会议 决定删除概念来自 C 0x 就我个人而言 我很失望 但我宁愿有一个可实现的 C 0x 也不愿没有 C 0x 他们表示将在稍后添加 您对此决定 问题有何看法 它将如何影响你 就我个人而言 我对删
  • 将文本基线与 div 底部对齐

    我正在尝试调整baseline中的某些文本div到所说的最底部边缘div 这样的角色就像g and j实际上会溢出 div 我似乎只能将文本元素的底部边缘与文本元素的底部边缘对齐div 我尝试过使用vertical align有价值观bas
  • CSS 选择器 * + * 定义?

    css 选择器 到底是什么意思 当您执行检查元素时 您可以在谷歌浏览器的控制台中看到它 根据我的说法 这似乎是对 每个第二个孩子 应用一种风格 但仍然想确定一下 谁能帮我吗 Example margin top 1em 表示 任何具有前一个
  • 通用 UITableView 键盘调整大小算法

    我搜索了很多调整表视图大小以适应键盘显示和隐藏的代码 但我遇到的几乎每一篇文章都假设表视图正在获取其视图控制器的整个视图 我有一个 iPad 应用程序 其中表格视图仅占据屏幕的一部分 在这种情况下调整表视图大小的正确方法是什么 我上面提到的
  • 相机覆盖随方位角和高度变化

    Folks 我正在尝试获取如下图所示的实用程序 基本上 相机显示窗口覆盖了设备屏幕的一部分 并且由曲线或直线连接的点列表作为覆盖层呈现在相机视图上 我知道这可以使用石英来绘制 但这还不到我的问题的一半 真正的问题是 随着方位和标高的变化 叠
  • 如何在Python中读取/dev/random

    我在一本书上读到 dev random就像一个无限文件 但是当我设置以下代码来查看内容是什么样子时 它什么也不打印 with open dev random as f for i in xrange 10 print f readline
  • ValueError:输入 0 与层 conv_1 不兼容:预期 ndim=3,发现 ndim=4

    我正在尝试制作一个变分自动编码器来学习编码 DNA 序列 但遇到了意外错误 我的数据是一组单热数组 我遇到的问题是值错误 它告诉我 我有一个四维输入 而我的输入显然是三维的 100 4008 4 事实上 当我打印出seq层 它说它的形状是
  • 删除超过 2 小时的 Firebase 数据

    我想删除超过两个小时的数据 目前 在客户端 我循环遍历所有数据并对过时的数据运行删除 当我这样做时 db on value 每次删除某些内容时都会调用该函数 另外 只有当客户端连接时才会删除内容 如果两个客户端同时连接会发生什么 我在哪里可
  • 有没有办法与 Netbeans 和 Github 一起工作,同步它们

    有没有办法与 Netbeans 和 Github 一起工作 同步它们 Netbeans 或其他东西的 Github 插件 Update NetBeans 7 0 现在在某些功能级别上对 Git 提供本机支持 它可以从 插件门户 更新中心 工
  • 如何更改 NuGet 包中的目标文件名?

    JavaScript 命名约定要求文件名中包含版本号 例如jQuery 1 34 min js 我有将输出的文本模板my library js在输出文件夹中 我想创建 NuGet 包my library js以这种方式 在安装时应将其部署为

随机推荐

  • 需要在 Singleton 类中私有化赋值运算符

    有人可以证明在 Singleton 类实现中私有化赋值运算符的必要性吗 它解决了什么问题Singleton operator Singleton const 私人的 class Singleton public static Singlet
  • 将对象的 NSMutableArray 保存/写入磁盘?

    最初我认为这会起作用 但现在我明白它不会起作用 因为artistCollection是一个 Artist 对象的NSMutableArray interface Artist NSObject NSString firName NSStri
  • 如何保存使用rhandsontable r包所做的编辑

    我的 R 程序按预期工作 它显示了一个包含我的数据帧的表 并允许我编辑值 如何捕获这些值并将它们保存到我的数据框或数据框的副本中 require shiny library rhandsontable DF data frame val 1
  • JavaFX 8 3D场景交点

    是否有可能在 JavaFX 8 3D 场景中沿着射线 例如 PickRay 找到点 从 3D 空间中具有某个 3D 方向向量的任意点开始 其中射线与网格中的三角形 MeshView 内的 TriangleMesh 相交 我知道这是在 Cam
  • 使用严格的 null 检查处理 Typescript 2.0 中的数组移位返回类型

    在我的具有严格 null 检查的 Typescript 2 0 项目中 我有一个数组 private timers ITimer 和一个 if 语句 if this timers length gt 0 this timers shift
  • 检查返回的文件是否为XML

    我需要检查网站输出的返回值 如果登录详细信息有效 它会返回一个 XML 文件 如果登录详细信息无效 它只会返回一个字符串 显示 您输入了无效 ID 我的问题是我用这个代码来检查 ch curl init curl setopt ch CUR
  • C# - 从特定应用程序捕获 Windows 消息

    我正在编写一个需要拦截的 C 应用程序窗口消息另一个应用程序正在发送 编写我正在监视的应用程序的公司向我发送了一些示例代码 但它是用 C 编写的 我不太了解 在 C 示例代码中 我得到了它们使用以下代码 UINT uMsg Register
  • 在 AXIOS 中发送 GET 方法的请求正文会引发错误

    我有一个 React 应用程序 我将 POST 方法更改为 GET 并按原样请求正文 它适用于 POST 请求 但是当我将方法更改为 GET 时 它给了我错误 message org springframework http convert
  • 基于gradle构建更新IntelliJ中的单一依赖

    是否可以让 IntelliJ 更新单个依赖项 而不必通过 Gradle 侧选项卡中的 刷新所有 Gradle 项目 按钮刷新所有依赖项 我问的原因是 我们的项目的完全刷新需要几分钟 足够长的时间让我写这个问题 我只想更新对我正在本地更新的另
  • 是否可以获得转换后的绘图数据? (例如点图中的点坐标、密度曲线)

    我想知道是否可以在 ggplot2 图中获取转换后的数据 特别是 我有兴趣获取点图中点的坐标和大小 以便在另一个绘图库中使用它们 d3 js 我怎样才能提取这些信息 这是情节 g ggplot data frame x rnorm 100
  • 控制台应用程序 - 当前工作线上方的 WriteLine

    我看过其他一些与此非常相似的帖子 但他们给出的答案并没有正确回答问题 抱歉 如果有什么隐藏的东西我找不到 我想使用 Console WriteLine 打印当前 Console ReadLine 上方的内容 例如 我的应用程序打印 Hell
  • 将变量编号分配给复数数组

    我想将复杂数组分配为变量 我的代码就像 complex indx 3 3 integer i j do i 1 3 do j 1 3 indx i j i j write indx i j end do end do 在这种情况下我收到类似
  • 在后面的代码中设置显示属性

    如何将显示属性设置为在后面的代码中阻止
  • 升级到 Gradle 7 后 Android Gradle Javadoc 损坏

    几天前 我升级到了新的 Android Studio Arctic Fox 版本 现在也需要 Gradle 7 在升级之前 我有以下 javadoc 任务 它运行得很好 def javaDocsAllowList com mycompany
  • 根据外部值有条件地应用管道步骤

    鉴于 dplyr 工作流程 require dplyr mtcars gt tibble rownames to column var model gt filter grepl x model pattern Merc gt group
  • “谓词下推”和“投影下推”有什么区别?

    我找到了多种信息来源 例如发现的一个here 将 谓词下推 解释为 如果您可以将部分查询 下推 到数据存储的位置 从而过滤掉大部分数据 那么您可以大大减少网络流量 但是 我还在其他文档中看到了术语 投影下推 例如here 这似乎是同一件事
  • Android每5秒拍照一次

    使用相机 API 我能够成功拍摄照片并将其保存到文件夹中 这是我正在使用的代码 主要 xml
  • Amazon APi 网关无法生成转换后的请求

    我正在尝试将 Amazon API gateway 与 Lambda 函数集成 我成功地实现了这一目标 但是当我尝试使用curl 时 它失败了 设置 Lambda 方法 API 网关集成以及集成请求下的模板映射 当我从控制台运行 测试 时
  • 将鼠标悬停在子级上时如何禁用父级悬停

    我将尝试用一些简单的例子来展示我的问题 我拥有的 http jsfiddle net JGzSh 3 这是一些简单的按钮 稍后会有 onclick 事件 当我将鼠标悬停在绿色 div 父级 上时 hover可以稍微改变它的颜色 有什么问题
  • 如何重命名 tSQLt 测试类?

    我正在使用以下方法开发数据库红门 SQL 开发人员 tools SQL Test运行 tSQLt 测试的 SSMS 加载项缺少重命名测试类的方法 我有一个测试叫 BackendLayerCustomerAdministrationTests