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

时间:2013-10-30 07:22:26

标签: 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
}


}

1 个答案:

答案 0 :(得分:5)

使用@FixMethodOrder JUnit注释,我们可以实现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");
    }
}

<强>输出:

  

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

同样,我们也可以使用@FixMethodOrder(MethodSorters.DEFAULT)@FixMethodOrder(MethodSorters.JVM)来命令测试执行。

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