junit在4.6版本以后,支持指定test方法运行顺序的标签。包含以下options:
/** Sorts the test methods by the method name, in lexicographic order */
NAME_ASCENDING(MethodSorter.NAME_ASCENDING),
/** Leaves the test methods in the order returned by the JVM. Note that the order from the JVM my vary from run to run */
JVM(null),
/** Sorts the test methods in a deterministic, but not predictable, order */
DEFAULT(MethodSorter.DEFAULT);
用法:
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;
@FixMethodOrder(MethodSorters.JVM)
public class Myt {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testA() {
System.out.println("1");
}
@Test
public void testBB() {
System.out.println("2");
}
@Test
public void testCC() {
System.out.println("3");
}
@Test
public void testDD() {
System.out.println("4");
}
}
输出结果是:
2
1
3
4
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class Myt {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testA() {
System.out.println("1");
}
@Test
public void testBB() {
System.out.println("2");
}
@Test
public void testCC() {
System.out.println("3");
}
@Test
public void testDD() {
System.out.println("4");
}
}
输出结果是:
1
2
3
4