Mal*_*rig 1 sql sql-server unit-testing ssms tsqlt
我刚刚开始为我的数据库创建一些单元测试。
如果我伪造了一张桌子,
EXEC tSQLt.FakeTable
@TableName = 'dbo.[My Table]',
@Identity = 0,
@ComputedColumns = 0,
@Defaults = 0
Run Code Online (Sandbox Code Playgroud)
可以查一下是否是假的吗?
请注意,可以在此处找到有关 FakeTable SP 的文档。
动机
我希望能够做到这一点,因为我想象创建几个存储过程来填充这些伪造的表,以便我可以执行测试。但是,我不想处理存储过程中的伪造表(因此我可以多次调用它们,每次输入不同的信息)。
我不想在添加数据之前忘记伪造表格(这几乎肯定会导致我的测试失败)。
tSQLt 向假表添加扩展属性以跟踪它假冒的表。使用以下函数可以轻松测试这一点tSQLt.Private_GetOriginalTableName:
SELECT tSQLt.Private_GetOriginalTableName('dbo','[My Table]')
Run Code Online (Sandbox Code Playgroud)
NULL如果表不是伪造的,这将返回。
如果想做更复杂的事情,可以sys.extended_properties直接查询。有关 的定义,请参阅脚本的内容tSQLt.class.sql (在tSQLt 发行版tSQLt.Private_GetOriginalTableName中) 。
| 归档时间: |
|
| 查看次数: |
725 次 |
| 最近记录: |