在 IDEA 中运行 JUnit 方法的错误顺序



我对Idea 14和JUnit有一个问题。我不能以适当的顺序运行@BeforeClass和@AfterClass方法(在所有测试之前和之后)。每次的顺序都不一样。我试图重新安装IDEA,删除所有设置,但没有任何工作。请帮助。这是我的测试代码的例子:

package com.rent.test;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import static org.junit.Assert.*;
import org.junit.Test;
public class testnewTest {
    static int num;
    static int num1;
    @BeforeClass
    public static void OnceExecutedBeforeAll() {
        System.out.println("@BeforeClass: onceExecutedBeforeAll");
        num = 15;
        num1 = 16;
    }
    @AfterClass
    public static void after() throws Exception {
        System.out.println("End");
    }
    @Test
    public void testLogin() throws Exception {
        System.out.println("test");
        assertEquals(15, num);
    }
    @Test
    public void testGetOrdersDate() throws Exception {
        System.out.println("test2");
        assertEquals(16, num1);
    }
}

输出:

 test2
 @BeforeClass: onceExecutedBeforeAll
 test
 End

您可能观察到的事实是,输出在终端中并不总是同步的。测试本身以正确的顺序运行。

如果它们不是,那么您将在test2中失败,因为您的@BeforeClass方法似乎在之后触发了

最新更新