【发布时间】:2017-01-17 11:36:10
【问题描述】:
为了测试,我将一堆行插入到 SQLServer 数据库中。我想在最后清除它们。虽然这应该是一个特定的仅测试数据库,但我希望表现得很好以防万一。出于同样的原因,我不想在删除我的测试数据时假设数据库中可能已经存在哪些数据,例如删除所有行或日期在一定范围内的所有行。
在插入行时,有一种方法可以捕获对插入的实际行的引用,因此我可以稍后删除这些确切的行,无论其中的数据是否已被修改。所以我知道我为测试“拥有”了哪些确切的行?
我在 ms-test 框架内从 C# 代码调用 SQLServer 查询。
【问题讨论】:
-
使用临时表来存储这些行怎么样?然后从数据库中删除并查看您的临时表
-
这很有趣,但实际上是否有可能获得 SQLServer 用来分别识别我的 PK 的每一行的“行 ID”?
-
是的,您可以将那些插入的 PK 值保存在表变量中。 @Mr.Boy
-
我建议使用测试框架,例如 tSQLt (tsqlt.org)。它为每次测试运行提供了干净的测试环境所需的所有必要机制。
标签: c# sql-server visual-studio mstest