Junit中类内多个@Test注释的求值顺序

Junit中类内多个@Test注释的求值顺序,junit,junit4,junit3,Junit,Junit4,Junit3,当您有多个@Test注释时,有人能告诉我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."); //

当您有多个@Test注释时,有人能告诉我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
}


}

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

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

示例代码片段:

import org.junit.FixMethodOrder;
导入org.junit.Test;
导入org.junit.runners.MethodSorters;
//测试执行顺序:方法名称的升序
@FixMethodOrder(MethodSorters.NAME\u升序)
公共类OrderedJUnitTest{
@试验
第二公共空间(){
System.out.println(“内部二次测试”);
}
@试验
首先公开无效(){
System.out.println(“内部第一次测试”);
}
@试验
第三公共空间(){
System.out.println(“内部第三次测试”);
}
}
输出:

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

同样,我们也可以使用
@FixMethodOrder(methodsorter.DEFAULT)
@FixMethodOrder(methodsorter.JVM)
,它们将对测试执行进行排序


访问以获得更多关于这方面的信息。

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

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

示例代码片段:

import org.junit.FixMethodOrder;
导入org.junit.Test;
导入org.junit.runners.MethodSorters;
//测试执行顺序:方法名称的升序
@FixMethodOrder(MethodSorters.NAME\u升序)
公共类OrderedJUnitTest{
@试验
第二公共空间(){
System.out.println(“内部二次测试”);
}
@试验
首先公开无效(){
System.out.println(“内部第一次测试”);
}
@试验
第三公共空间(){
System.out.println(“内部第三次测试”);
}
}
输出:

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

同样,我们也可以使用
@FixMethodOrder(methodsorter.DEFAULT)
@FixMethodOrder(methodsorter.JVM)
,它们将对测试执行进行排序


访问以获得更多关于这方面的见解。

JUnit中没有实现的可能的重复(因为作者认为您不应该依赖于测试的顺序)。如果您确实需要它,请使用第三方测试运行程序或切换到其他框架,如TestNG。(编辑:我刚刚看到JUnit4.11提供了一个解决方案!有关详细信息,请参阅链接到的问题)。@JoachimSauer是对的,“独立”是良好测试的特性之一。您可以在这里阅读其他测试的描述以及JUnit中未实现的测试的可能副本(因为作者认为您不应该依赖于测试的顺序)。如果您确实需要它,请使用第三方测试运行程序或切换到其他框架,如TestNG。(编辑:我刚刚看到JUnit4.11提供了一个解决方案!有关详细信息,请参阅链接到的问题)。@JoachimSauer是对的,“独立”是良好测试的特性之一。你也可以在这里阅读其他人的描述