所以这是我的问题:我有一组测试,我想按特定顺序运行。在this问题中,我发现您可以简单地记下测试的顺序,因为您希望它们运行。
不幸的是,由于我无法看到的原因,这似乎没有在我的Kotlin实现上运行。
这就是我所拥有的:
@CucumberOptions(features = ["features/test1.feature", "features/test2.feature", "features/test3.feature", "features/test4.feature", "features/test5.feature"])
附加信息:所有测试都在同一目录中,所有测试名称都是特定的 - 我已将其重命名为可读性。
有什么建议吗?
答案 0 :(得分:4)
它曾经按顺序执行的事实只是您碰巧注意到的实现细节 - 无法保证场景的执行顺序。事实上,依赖于场景的执行顺序是不好的做法 - 我从这里的经验谈起并强烈建议你改变你这样做的方式。
我们最终提出的解决方案是在后台需要一个步骤,例如“我以USER / PASSWORD登录”。如果登录非常昂贵,您可以考虑使用Cucumber挂钩@Before并在某种World
对象中缓存登录。
答案 1 :(得分:0)
您可以重命名要素文件,黄瓜将按照您想要的顺序开始运行
例如:
01Featurefile.feature
02Featurefile.feature
03Featurefile.feature
这将使黄瓜按顺序运行01和02,然后运行03.
请注意,这是为了应对测试用例依赖性而可以实现的最后一种方法。
答案 2 :(得分:0)
对于常见的单元测试,您可以使用注释@org.junit.FixMethodOrder(MethodSorters.JVM)
。在这种情况下,方法将以字母开头。