当你有多个@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
}
}
答案 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以获得更多相关信息。