首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >TSQLT中的AssertResultSetsHaveSameMetaData

TSQLT中的AssertResultSetsHaveSameMetaData
EN

Stack Overflow用户
提问于 2015-10-27 20:58:49
回答 1查看 266关注 0票数 0

我正在使用TSQLT AssertResultSetsHaveSameMetaData来比较两个tables.But之间的元数据,问题是我不能硬编码表名,因为我在runtime.So中将表名作为参数传递。有什么方法可以这样做吗

EN

回答 1

Stack Overflow用户

发布于 2015-10-28 16:05:24

可以通过传递两个select语句来使用tSQLt.AssertResultSetsHaveSameMetaData,如下所示:

代码语言:javascript
复制
exec tSQLt.AssertResultSetsHaveSameMetaData
      'SELECT TOP 1 * FROM mySchema.ThisTable;'
    , 'SELECT TOP 1 * FROM mySchema.ThatTable;';

因此,对要比较的表名称进行参数化并基于这些表名参数构建SELECT语句应该非常容易。

但是,如果您使用的是最新版本的tSQLt,那么现在也可以使用tSQLt.AssertEqualsTableSchema来做同样的事情。您可以像这样使用此断言:

代码语言:javascript
复制
exec tSQLt.AssertEqualsTableSchema
      'mySchema.ThisTable'
    , 'mySchema.ThatTable';

同样,参数化表名也很容易,因为它们是作为参数传递给AssertEqualsTableSchema的。

如果你解释了用例/上下文,并提供了示例代码来解释你正在尝试做什么,你就有更好的机会获得你需要的帮助。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33368643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档