使用Specflow,我正在编写一套场景模拟月薪,验证每月计算的付款以及最终的年终数字。Specflow - “场景”之间的状态
每个月的结果都是累积的,因此每个后续情景都取决于上个月的增加和减少。支付计算通过第三方工具写入数据库,因此在各种情况之间创建和销毁测试数据非常昂贵。
根据我的测试经验,我知道并不总是可以确保测试的执行顺序。我可以用一些场景命名约定来控制执行顺序,但不能保证远程测试运行器将按字母顺序运行测试。
选项,我认为:
- 通过一个单一的情况下,包括大量的给定的时候,那么断言运行整整一年。这会导致一个难以阅读的巨大场景。
- 为每个场景创建一个“给定”级联。 “鉴于:所有到X月的付款都已完成”。这会创建大量的数据库流量,因为每个场景都需要创建和销毁测试数据。
是否有更好的方法来在场景之间存储状态并确保场景按照所需的顺序执行?
您也可能会发现这个答案有帮助,如果您将它映射到您的问题上,并且您想要执行的测试类型选择较高级别的抽象: http://stackoverflow.com/a/23375756/936469 – realtime