我试图在 Visual Studio 2010 单元测试中找出如何保留我在测试期间添加、更新或删除的数据的事务,以便在我的 TestCleanup 上我可以回滚它们的值。
我应该使用什么搜索词来找到更多相关信息?
干杯
保罗
最佳答案
为什么需要回滚更改?您的单元测试是否更新实时数据?如果单元测试编写得当,您就不必在测试更改后进行清理,因为它们更改的数据应该与您的测试隔离。
编辑:
听起来您已经为测试设置了一个数据集,并希望确保该数据集恢复到其原始状态。我更喜欢将设置测试数据作为测试的一部分的做法,但我知道这对于复杂的测试来说可能会变得困难。
如果这是在 ADO.NET 数据源中,您可以启动一个事务,然后在测试结束时回滚该事务。例如:
using (var transaction = db.BeginTransaction())
{
// Do tests here
}
// The transaction is rolled back when disposed
编辑 2:
如果您没有事务支持,第三种选择是在不会被修改的地方备份您的测试数据,然后在测试结束时恢复该备份。
关于c# - Visual Studio 2010 单元测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3444777/