首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何自动化功能/集成测试和数据库回滚

如何自动化功能/集成测试和数据库回滚
EN

Stack Overflow用户
提问于 2009-09-24 05:04:07
回答 3查看 4.6K关注 0票数 7

与我的前一个问题相反,我将尝试给出我的需求。

我正在设法找到一些框架/方法/“东西”适合以下方面:

  • 能够编写自动化测试,最好用Visual编写,使用C#编写。
  • 测试应该像用户一样驱动web浏览器并与SUT交互。
  • 测试应该能够在DB中设置测试场景。
  • 测试应该能够断言用户交互在DB中具有预期的效果。
  • 测试完成后,它应该能够回滚它在DB中所做的所有更改。

我的第一次尝试是使用NUnit测试来驱动Selenium (以及之前的Watin ),但是在使用TransactionScope回滚硒驱动浏览器在DB中所做的更改时,我遇到了一些问题(查看上面的链接)。

有没有人在“现实世界”做过这样的事?我已经通过Google找到了一些参考资料,但是还没有找到任何具体的例子来说明如何实现这一点。如果我在做单元测试,就不会有任何问题了。在这种情况下,TransactionScope就足够了。

编辑: R.哈维向我指出了的问题,这个问题与我的情况几乎完全相同。

然而,这个问题几乎完全相同。我的应用程序是服务系列的一部分,所有这些服务都访问同一组数据库表。所需的测试数据量不允许有效地使用drop/create脚本,因此是否有其他解决方案?

我们正在使用Server 2005,而我对数据库魔术并不十分精通,所以如果有一些方法可以使用SQL脚本,而不是drop/create,那么这可能是一种选择。

编辑2:

基于答案和一些额外的抓取,我们将为开发人员提供更轻量级的数据库,以执行单元、集成和功能测试。这使我们能够使用sql脚本来设置和删除测试。

EN

Stack Overflow用户

发布于 2009-09-24 07:27:06

如果将数据库还原到已知良好状态所需的数据量限制在drop/create脚本上,并且您正在SQL 2005的Developer或Enterprise上运行测试,则可以在每次测试之前查看状态良好的创建数据库快照再回到它。这比完全恢复要快得多,尽管如果您有数百个测试,它可能仍然太费时了。

票数 7
EN
查看全部 3 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1469844

复制
相关文章

相似问题

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