JUnit4에서는 아래와 같이 작성합니다.
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class JUnitTest {
@Test
public void TestA() throws Exception {
}
@Test
public void TestB() throws Exception {
}
}
https://junit.org/junit4/javadoc/latest/org/junit/runners/MethodSorters.html
엇. 그런데. 적용이 안되네. 싶어서 확인해보니 JUnit5를 쓰고 있군요. 이런.
JUnit 5에서는 해당 API가 없어졌습니다. 그리고 5.3 버전까지는 테스트 순서 지정하는 방법이 없구요 (찾지 못했습니다 ㅠㅠ). 5.4부터는 새로운 API를 지원합니다. 5.4는 현재 RC1입니다.
https://junit.org/junit5/docs/5.4.0-RC1/release-notes/
@TestMethodOrder(OrderAnnotation.class)
public class JUnitTest {
@Test
@Order(1)
public void TestA() throws Exception {
}
@Test
@Order(2)
public void TestB() throws Exception {
}
}
https://junit.org/junit5/docs/5.4.0-RC1/api/org/junit/jupiter/api/TestMethodOrder.html
https://junit.org/junit5/docs/5.4.0-RC1/user-guide/index.html#writing-tests-test-execution-order
OrderAnnotation을 사용하면 좀 더 깔끔하게 테스트 순서를 지정할 수 있어서 좋네요. 예전처럼 이름 지으면서 머리아플 필요도 없고~
https://junit.org/junit5/docs/5.4.0-RC1/api/org/junit/jupiter/api/MethodOrderer.OrderAnnotation.html
이클립스를 사용하는 경우에는 R20181128170323 빌드에는 JUnit 5.3이 포함되어 있어서 해당 API를 사용할 수 없습니다. 3월 RC1 버전을 설치하던가 별도로 JUnit 버전을 올려주어야 합니다.
https://www.eclipse.org/downloads/packages/release/2019-03/m3