JUnit 5是否支持按字母顺序或任何类似功能执行测试方法?

Arb*_*ngh 2 java junit5

JUnit 4必须@FixMethodOrder(MethodSorters.NAME_ASCENDING)按字母顺序支持测试执行.

是否有最新的JUnit 5中引入的类似功能或任何其他方式来实现此功能?

我经历了一些类似的问题,但找不到任何解决方案.因此,再次发布此问题以检查解决方案.

谢谢

小智 9

我知道我迟到了,但 JUnit5 能够做到这一点。

import org.junit.jupiter.api.MethodOrderer;
import org.junit.jupiter.api.TestMethodOrder;

@TestMethodOrder(MethodOrderer.Alphanumeric.class)
public class TestClass{
   //..
}
Run Code Online (Sandbox Code Playgroud)

此 Annotation 是按实际方法名称排序,而不是按 Displayname 排序。


Edw*_*son 7

最后,现在这是可能的。
@TestMethodOrder在快照版本可用。(5.4)

@TestMethodOrder(OrderAnnotation.class)
class OrderedTestsDemo {

    @Test
    @Order(1)
    void nullValues() {
        // perform assertions against null values
    }

    @Test
    @Order(2)
    void emptyValues() {
        // perform assertions against empty values
    }

    @Test
    @Order(3)
    void validValues() {
        // perform assertions against valid values
    }

}
Run Code Online (Sandbox Code Playgroud)

来源:doccommit


Yar*_*lav 5

JUnit问题仍然是开放的https://github.com/junit-team/junit5/issues/13 所以,现在没有这种可能性.

  • 答案有点过时了,因为已经有解决方案了。查看答案:/sf/answers/3893834451/ (3认同)