Cucumber 使用Java时,将测试数据保存在场景的功能文件中或单独的文件(xml、json、yml)中,有什么更好的解决方案?

Cucumber 使用Java时,将测试数据保存在场景的功能文件中或单独的文件(xml、json、yml)中,有什么更好的解决方案?,cucumber,Cucumber,根据我的说法,将其与场景保持在一起更有意义,因为 1.我们可以对不同的数据集使用相同的场景步骤。 2.如果我们在特征文件中指定它们,可读性也会增加。 3.Cumber已经提供了测试数据管理的功能 但在我以前的所有公司框架中,测试数据都保存在单独的文件中 请告诉我什么是最好的方法。下面是一些因素,这些因素将决定我们是应该使用数据表/示例还是外部数据文件 列数 数据是静态/动态的吗 数据来源 让我们讨论上述每一项 1。列数: 当您的列少于10列时,最好从要素文件传递数据。但是超过10列会使阅读场景变

根据我的说法,将其与场景保持在一起更有意义,因为 1.我们可以对不同的数据集使用相同的场景步骤。 2.如果我们在特征文件中指定它们,可读性也会增加。 3.Cumber已经提供了测试数据管理的功能

但在我以前的所有公司框架中,测试数据都保存在单独的文件中


请告诉我什么是最好的方法。

下面是一些因素,这些因素将决定我们是应该使用
数据表
/
示例
还是外部数据文件

  • 列数
  • 数据是静态/动态的吗
  • 数据来源
  • 让我们讨论上述每一项

    1。列数: 当您的列少于10列时,最好从要素文件传递数据。但是超过10列会使阅读场景变得更加困难。列越多,读取和维护就越复杂(容易出错)。在这种情况下,将数据保存在外部文件中会很容易

    2.数据是静态/动态的: 如果您确定数据是静态的,这意味着您不必经常更改数据,那么您可以坚持使用特征文件。但是考虑一下这样的场景,您的数据每次都会发生变化(例如:如果您想放置100个订单,然后等待一段时间,并希望基于Orrid ID检查每个订单的状态。在这种情况下,您最好将订单ID存储在外部文件中,并将其作为其他验证功能的一部分)。 3。数据来源 如果确定有权访问要素文件的人员将填充/更新数据,则可以使用要素文件。但是,考虑测试数据将被外部团队/外部源(比如数据库)填充的情况,那么最好保持它的独立性,这样可以获得文件并在更新版本时替换它。(在这种情况下,请确保提供模板,以便外部团队和您在填写数据时能够轻松完成工作)

    可能还有其他情况会决定测试数据的正确位置,但这些是我脑海中的3点