【发布时间】:2016-07-17 00:54:22
【问题描述】:
我正在尝试创建一组新的测试来测试我正在开发的旧网站。该站点在后端使用数据库。我正计划使用 SpecFlow 和 Selenium,但我有点不知道处理数据清理的最佳方法是什么。
目前我有一个数据库备份,其中包含一组示例数据,我在每次测试运行之前都会还原这些数据。然而,这很麻烦,所以我只想在发布前对关键测试运行执行此操作,并让持续集成运行在其间的同一数据库上运行。
目前我有大量类似这样的测试:
Secenario: Test Item Creation
Given I am logged in
When I create an item with a unique name
Then an item exists with the unique name
when 步骤使用 GUID 来确保名称是唯一的,然后 then 步骤可以通过模块变量访问它以检查它是否存在。
就像我说的,但是我有很多与此类似的测试,并且我在同一个数据库上多次运行它们,因此测试系统充满了降低搜索速度等的项目。
我的问题是处理这个问题的最佳方法是什么?我是否应该在测试中创建另一个步骤,像这样再次删除该项目:
Secenario: Test Item Creation
Given I am logged in
When I create an item with a unique name
Then an item exists with the unique name
Then delete the item with the unique name
或者我的测试框架应该能够以某种方式处理这个问题吗?如果是这样,人们会怎么做?鉴于 SpecFlow 步骤的全局性质,我想如果具有父子关系的多个项目可能会出现问题,那么以正确的顺序获取拆卸步骤。
【问题讨论】:
标签: database specflow test-data scenarios teardown