2011-07-12 50 views
1

我要测试一个复杂的场景,该场景需要先执行其他几个步骤。为SpecFlow场景准备数据

例如,它可以等同于在货物被取走之前在仓库中拥有适当的数据。因此,为了使提取发生,首先必须确保仓库中有产品,并且存在提取顺序。可能有单独的屏幕将产品插入仓库。所以在我开始测试提取场景之前,我必须准备好这些。

准备好这些数据的最佳方法是什么?我基本上可以想到两个选择。

  1. 通过实际屏幕准备数据。

  2. 使用准备好的数据创建数据库快照以执行想要的方案。

我不确定我应该向哪个方向前进,并且希望听到类似的尝试过类似的经历。

回答

2

我会选择2 - 你正在测试一些用例,你不应该涉及用另一个测试测试的用例。测试包含一些驱动测试的代码和用于执行测试的数据。所以如果你需要测试的特殊数据,你应该预先准备好它们,而不是通过应用程序逻辑来创建它们。

3

你可以做的另一件事是有一个框架,该数据插入到数据库中。这种方式可以在其他情况下重复使用,并且比每个场景恢复数据库更快。

+0

Yuppers。那就是我所做的。 – Keith