是否可以在每个 NUnit 测试结束时还原数据库

本文关键字:结束 测试 还原 数据库 NUnit 是否 | 更新日期: 2024-11-06 14:42:02

我正在使用C#,NUnit和Selenium WebDriver编写一些UI自动化测试脚本。我想知道是否可以在每次测试结束时恢复数据库(例如通过 TearDown 方法),如果是这样,我该如何实现这一目标。

我尝试遵循这个和这个,但它们似乎不起作用。我猜这是因为我没有从测试脚本本身执行任何与数据库相关的操作?

是否可以在每个 NUnit 测试结束时还原数据库

您可以使用 TransactionScope

using (TransactionScope scope = new TransactionScope())
{
      //your code goes here
}

请记住,auto_increment计数器值不会回滚。

我建议在 DAL 层创建 Fakes,以便您始终在每次运行时使用相同的数据,而不必担心与数据库的实时连接。 我在这里写了一些关于一般想法的文章 http://blog.dmbcllc.com/automated-web-application-functional-testing/如果您需要更多详细信息。