首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >tSQLt对象组织

tSQLt对象组织
EN

Stack Overflow用户
提问于 2016-04-27 02:37:31
回答 3查看 267关注 0票数 2

我们使用RedGate结合SQL (tSQLt)。为了进行单元测试,我们在每个数据库上都安装了框架。

有没有办法以这样一种方式使用tSQLt框架:您的单元测试和框架对象可以驻留在一个中心位置,然后可以由多个数据库使用?

我们还使用RedGate的SQL Source Control和TFS作为我们的存储库来跟踪模式更改。这些更改按照以下环境顺序进行升级:开发-->测试-->生产。

不用说,添加的框架和测试本身代表了现在我们数据库中的大量新SQL对象(表、存储过程等)。理想情况下,我们希望这些对象只驻留在开发和测试中,避免弄乱我们的生产数据库。我们可以跳过将tSQLt更改合并到生产环境中,但这样我们就会在测试环境的源代码控制中保留未合并的更改,直到时间结束。

对解决这个问题有什么想法吗?

EN

回答 3

Stack Overflow用户

发布于 2016-05-30 22:27:50

在使用SQL Source Control管理数据库更改时,签入tSQLt测试是正确的做法。如果您希望确保这些更改不会推送到试运行或生产环境,则需要确保用于推送更改的工具不包括tSQLt测试。如果您使用Redgate SQL Compare来完成此操作,请使用“忽略tSQLt框架和测试”选项。有关详细说明,请参阅product documentation。如果你使用的是不同的工具或过程,请发表评论,我会修改这个答案。

票数 2
EN

Stack Overflow用户

发布于 2016-04-27 02:56:27

目前还没有办法在单独的数据库中安装tSQLt。我已经开始了使tSQLt数据库不可知的过程,但这基本上是一次完全的重写,所以需要一段时间。

同时,您可以从SQL源控制中排除tSQLt:https://redgate.uservoice.com/forums/39019-sql-source-control/suggestions/4901910-faster-way-to-exclude-all-tsqlt-content

票数 1
EN

Stack Overflow用户

发布于 2016-04-27 21:54:29

如果你仍然想要你的测试在源代码管理中,但又不想将它们提升到更高的环境中,这是Redgate的DLM Automation Suite的默认行为。您可以使用其中一个构建服务器插件(如TeamCity或TFS用于构建/测试,然后使用Octopus Deploy进行发布),或者在PowerShell中使用SQL Release完成所有这些工作。https://documentation.red-gate.com/display/SR1/SQL+Release+documentation

如果您有Redgate的SQL工具许可,那么您可能已经获得了自动化工具的许可(这是对以前许可的更改);http://www.red-gate.com/products/sql-development/sql-toolbelt/#automation

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

https://stackoverflow.com/questions/36873157

复制
相关文章

相似问题

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