Junit中类中多个@Test注释的评估顺序

0 junit junit4 junit3

当你有多个@Test Annotation时,有谁能告诉我Junit中@Test注释的评估顺序是什么?我尝试使用以下示例,但没有找到任何特定的顺序.您可以考虑以下示例来解释您的答案.

package test_Cases;

import org.junit.Test;

public class First_test_case {
    @Test
public void apsTest(){
    System.out.println("THIS IS FIRST TEST CAES.");
    //selenium code
}
@Test
public void appletestTest(){
    System.out.println("THIS IS second TEST CAES.");
    //selenium code
}
@Test
public void aboutestTest(){
    System.out.println("THIS IS third TEST CAES.");
    //selenium code
}

@Test
public void dtestTest(){
    System.out.println("THIS IS fourth TEST CAES.");
    //selenium code
}@Test
public void etestTest(){
    System.out.println("THIS IS fifth TEST CAES.");
    //selenium code
}@Test
public void ftestTest(){
    System.out.println("THIS IS sixth TEST CAES.");
    //selenium code
}


}
Run Code Online (Sandbox Code Playgroud)

Sit*_*ana 5

使用@FixMethodOrderJUnit注释,我们可以实现junit测试的有序执行

注意:我们需要使用JUnit 4.11或更高版本来获取此选项

示例代码段:

import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;

// Test execution order : ascending order of method names
@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class OrderedJUnitTest {
    @Test
    public void second() {
        System.out.println("Inside second test");
    }

    @Test
    public void first() {
        System.out.println("Inside first test");
    }

    @Test
    public void third() {
        System.out.println("Inside third test");
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

内部第一次测试
内部第二次测试
内部第三次测

同样,我们可以使用@FixMethodOrder(MethodSorters.DEFAULT)@FixMethodOrder(MethodSorters.JVM)以及将下令测试执行.

访问https://github.com/junit-team/junit/wiki/Test-execution-order以获得更多信息.