选择执行JUnit测试的顺序

Mig*_*iro 9 java testing junit netbeans

我想选择执行JUnit测试的顺序.我有4个类,里面有几个测试方法,我的目标是执行,例如,类A的方法Y,然后是类B的方法X,最后是类A的方法Z.

你能帮帮忙吗?

Jef*_*rey 19

通常,您无法指定单独运行单元测试的顺序(尽管您可以在TestNG中指定优先级并为每个测试指定不同的优先级).但是,单元测试应该能够单独运行,因此测试的顺序无关紧要.这是一种不好的做法.如果您需要按特定顺序进行测试,则应重新考虑您的设计.如果您发布有关订单原因的具体信息,我相信我们可以提供建议.

  • +1,虽然我认为这个建议的措辞不够强烈.单元测试应该能够独立运行; 这是根本的.如果你不是,你做错了. (2认同)

Lor*_*rva 19

从版本4.11开始,您可以使用注释指定执行顺序,并按方法名称排序:

import org.junit.Test;
import org.junit.FixMethodOrder;
import org.junit.runners.MethodSorters;

@FixMethodOrder(MethodSorters.NAME_ASCENDING)
public class MyTest {

    @Test
    public void test1Create() {
        System.out.println("first");
    }

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

请参阅JUnit 4.11发行说明