如何使用新的JUnit 4.11功能,包括更改测试名称和设置执行顺序

use*_*746 1 java junit unit-testing junit4

我正在尝试使用JUnit 4.11来设置执行顺序.

我尝试在Ecipse IDE中运行此链接上的参数化测试示例(更改参数化测试的名称),我看到Eclipse IDE中显示的测试名称没有变化.我希望看到测试名称显示为test [1:fib(1)= 1]和test [4:fib(4)= 3],但它们显示为test [0]和test [1]

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
Run Code Online (Sandbox Code Playgroud)

在Eclipse IDE中运行的以下示例导致以下执行顺序(b,a,d,c)而不是预期的(a,b,c,d)

package com.org;
import static org.junit.Assert.*;
import org.junit.Test;
import org.junit.FixMethodOrder;
import org.junit.Test;
import org.junit.runners.MethodSorters;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class ExecutionOrderTestName {

    @Test
    public void bTest() {
        System.out.println("b");
    }

    @Test
    public void aTest() {
        System.out.println("a");
    }

    @Test
    public void dTest() {
        System.out.println("d");
    }

    @Test
    public void cTest() {
        System.out.println("c");
    }
}
Run Code Online (Sandbox Code Playgroud)

测试的顺序没有发生,我做错了什么?

Mat*_*ell 5

这听起来像你在类路径上有另一个JUnit.看看你是否有,并将其删除.在Eclipse中,您可以查看Project Properties-> Java Build Path,然后查看Libraries选项卡.