有没有办法控制黄瓜特征的顺序?

时间:2019-07-04 07:27:16

标签: java maven cucumber testng cucumber-java

我正在AWS设备农场上使用带有Java,Maven和Testng的黄瓜,并且我想运行一整套方案。 我有几个不同的功能文件,每个功能文件包含具有相同标签名称的多个测试。 我的意思是我的每个功能文件都包含一个标记@sanity。 当我运行它时,我看到测试是按照功能文件名称的字母顺序运行的。 有没有办法控制执行顺序?

例如,我有favorite.feature,treks.feature和chats.feature。每个功能文件都有一个带有@sanity标记的测试。我希望能够在chats.feature中的@sanity测试之前运行treks.feature中的@sanity测试。甚至有可能吗?

谢谢

1 个答案:

答案 0 :(得分:0)

请注意,不建议按特定顺序运行功能。

Cucumber docs: “每种情况都应该是独立的;您应该能够以任何顺序或并行运行它们,而不会干扰一种情况。 每个方案都应该精确地测试一件事,以便在失败时出于明确的原因而失败。这意味着您不会在另一个方案中重复使用一个方案。 “

让它们彼此依赖,会使您的套件更加脆弱且难以维护。例如:如果只有在存在模块A的情况下才能创建模块B,则对该模块的测试应确保存在模块A。 如果一个方案是其他方案的先决条件,则如果该方案失败,则许多方案都会失败-即使其他测试可能正在测试其他事物。分析故障将花费很长时间。