【发布时间】:2016-11-20 09:07:57
【问题描述】:
我知道有很多关于在测试完成后清理数据的问题。他们中的很多人都说过要模拟数据库以避免使用真实的数据库,然后在测试完成后将其清理干净。我不确定这是否适用于我正在做的事情,所以就这样吧。
我将 SpecFlow 用于 .net,将 Selenium 用于 WebUI,将 NUnit 用于测试运行器。
应用程序本身是一个大型多页网络应用程序。
SpecFlow 功能由页面功能分开,并且大多数(如果不是所有)页面都有一个显示创建记录的表格。前任。我创建了一个新类别,页面在表格中显示了添加的类别。为了能够一遍又一遍地运行这些测试,我需要删除测试从数据库中创建的所有添加记录,以便在重新运行测试时可以重新创建这些相同的类别。
我们有一个骨架设置来运行每个功能,该功能将传递一个存储过程以从数据库中删除那些添加的记录。由于在测试环境中删除不同测试客户端的记录的风险,该想法遭到了很多反对。
那么,我的问题是,清理数据库的最佳做法是什么?
【问题讨论】:
-
抱歉,您使用的是与测试数据共享实时生产客户端数据的数据库吗?
-
好的,对不起,不,我们进入生产之前的所有环境都没有生产客户端数据。但是,他们确实想在 prod 中运行这些测试,在这种情况下,测试客户端将共享数据库。我们还没有达到那个水平,所以这真的还有待确定。
标签: database selenium ui-automation specflow acceptance-testing