JUnit 4 测试执行按照它们在 class 中的编程顺序

JUnit 4 Test Execution in the order how they are programmed in class

我正在使用 JUnit 和 RestAssured 创建 API 测试。

我想知道是否有一种方法可以按照它们在 class 文件中的写入顺序执行测试用例。目前,当我执行它们时,它似乎是随机的。

我尝试 @TestMethodOrder(MethodOrderer.OrderAnnotation.class) 并将 @Order(xy) 添加到测试中,但我认为这对我没有帮助。

只是描述我的问题:

我在 class 中按以下顺序进行了多项测试:Post 测试、获取测试、删除测试。正如您可能已经知道的那样,我希望删除测试在最后执行。

有办法做到吗?

谢谢

简答:没有。 IMO 甚至不可能,因为您的方法顺序在生成的字节码中不可见,但我不是字节码专家,可能是错误的。

注释 @TestMethodOrder 是 JUnit Jupiter (JUnit 5) 的一部分,因此它不适用于 JUnit 4 测试。 JUnit 4 有一个注释 @FixMethodOrder 允许您按字母顺序执行测试方法。通过在您的测试名称前加上一些像 a_ 这样的字符串,您可以实现您想要的。我知道很难看。