0

当您有多个@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
}


}
4

1 回答 1

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");
    }
}

输出:

第一个测试
里面 第二个测试
里面 第三个测试里面

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

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

于 2013-10-30T11:51:20.883 回答