我使用JUnit和RestAssured创建API测试。
我想知道是否有一种方法可以按照测试用例在类文件中的编写顺序执行测试用例。目前,当我执行它们时,它似乎是随机的。
我尝试了@TestMethodOrder(MethodOrderer.OrderAnnotation.class)
并将@Order(xy)
添加到测试中,但我认为这对我没有帮助
只是为了描述我的问题:
我在类中有多个测试,顺序如下:Post tests、Get tests、Delete tests。正如你可能已经知道的,我希望删除测试作为最后一次执行。
有可能以某种方式做到这一点吗?
感谢
简短回答:没有。IMO这甚至是不可能的,因为你的方法顺序在生成的字节码中不可见,但我不是字节码专家,可能是错误的。
注释@TestMethodOrder
是JUnit Jupiter(JUnit 5(的一部分,因此它不适用于JUnit 4测试。JUnit4有一个注释@FixMethodOrder
,它允许您按字母顺序执行测试方法。通过在测试名称前面加上一些类似字符串的a_
,您可以实现您想要的。我知道它很难看。