我要测试一个复杂的场景,该场景需要先执行其他几个步骤。为SpecFlow场景准备数据
例如,它可以等同于在货物被取走之前在仓库中拥有适当的数据。因此,为了使提取发生,首先必须确保仓库中有产品,并且存在提取顺序。可能有单独的屏幕将产品插入仓库。所以在我开始测试提取场景之前,我必须准备好这些。
准备好这些数据的最佳方法是什么?我基本上可以想到两个选择。
通过实际屏幕准备数据。
使用准备好的数据创建数据库快照以执行想要的方案。
我不确定我应该向哪个方向前进,并且希望听到类似的尝试过类似的经历。
我要测试一个复杂的场景,该场景需要先执行其他几个步骤。为SpecFlow场景准备数据
例如,它可以等同于在货物被取走之前在仓库中拥有适当的数据。因此,为了使提取发生,首先必须确保仓库中有产品,并且存在提取顺序。可能有单独的屏幕将产品插入仓库。所以在我开始测试提取场景之前,我必须准备好这些。
准备好这些数据的最佳方法是什么?我基本上可以想到两个选择。
通过实际屏幕准备数据。
使用准备好的数据创建数据库快照以执行想要的方案。
我不确定我应该向哪个方向前进,并且希望听到类似的尝试过类似的经历。
我会选择2 - 你正在测试一些用例,你不应该涉及用另一个测试测试的用例。测试包含一些驱动测试的代码和用于执行测试的数据。所以如果你需要测试的特殊数据,你应该预先准备好它们,而不是通过应用程序逻辑来创建它们。
你可以做的另一件事是有一个框架,该数据插入到数据库中。这种方式可以在其他情况下重复使用,并且比每个场景恢复数据库更快。
Yuppers。那就是我所做的。 – Keith