【问题标题】:Order of evaluation of multiple @Test annotation inside a class in JunitJunit类中多个@Test注释的评估顺序
【发布时间】:2013-10-30 07:22:26
【问题描述】:

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


}

【问题讨论】:

  • 这在 JUnit 中没有实现(因为作者认为你不应该依赖测试的顺序)。如果你绝对需要它,要么使用第三方测试运行器,要么切换到另一个框架,例如 TestNG。 (编辑:我刚刚看到 Junit 4.11 提供了一个解决方案!有关详细信息,请参阅链接到的问题)。
  • @JoachimSauer 是对的,“独立”是良好测试的属性之一。你也可以在这里阅读cavdar.net/2008/10/25/properties-of-good-tests-a-trip 其他人的描述

标签: junit junit4 junit3


【解决方案1】:

使用@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)@FixMethodOrder(MethodSorters.JVM) 来排序测试执行。

请访问https://github.com/junit-team/junit/wiki/Test-execution-order 了解更多相关信息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-04-30
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    • 2022-10-15
    • 2012-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多