与我的previous question相反,我会尽力满足我的要求。如何自动化功能/集成测试和数据库回滚
我试图找到一些框架/方法/“东西”,将符合下列:
- 能力编写自动测试,最好写在Visual Studio中,使用C#。
- 测试应该驱动一个Web浏览器,并像用户一样与SUT进行交互。
- 测试应该能够在数据库中设置测试场景。
- 测试应该能够断言用户交互在DB中具有预期的效果。
- 测试完成后,它应该能够回滚它在数据库中所做的所有更改。
我的第一次尝试是使用NUnit测试来驱动硒(在此之前,华廷),但我面临有点问题的(检查上面的链接),而使用的TransactionScope回滚变化硒驱动浏览器在DB中做过。
有没有人在“真实世界”中做过这样的事情?我通过Google找到了一些参考资料,但一直未能找到有关如何实施的具体示例。如果我要进行单元测试,那就不会有任何问题。在这种情况下,TransactionScope就足够了。
编辑:河哈维指出我的this问题,这几乎与我的情况相同。
但是,这个问题只是差不多相同。我的应用程序是一系列服务的一部分,它们都访问同一组数据库表。所需的测试数据量不允许有效使用drop/create-scripts,那么是否有一些替代解决方案?
我们正在使用SQL Server 2005,并且我不擅长数据库魔术,所以如果有一些方法可以使用除drop/create之外的sql脚本,那么这可能是一个选项。
编辑2:
基础上的答案和一些额外的挠头,我们会去更轻量级的数据库开发人员执行单位 - ,集成 - 测试和功能测试。这使我们能够使用sql脚本来设置和拆除测试。
这可能有帮助:http://stackoverflow.com/questions/768944/rollback-database-after-integration-selenium-tests – 2009-09-24 05:12:49
是的,我本身没有硒问题。似乎是一个伟大的工具!问题在于回滚Selenium驱动的broser到db中的变化。 – juarola 2009-09-24 05:14:03
哦,我的,我怎么会错过。在发布之前,我试图做大量的搜索,但这个问题的场景几乎是一个副本。我会在我的问题中添加一点以区别于他们的情况... – juarola 2009-09-24 06:03:53