У меня проблема с Idea 14 и JUnit. Я не могу запускать методы @BeforeClass и @AfterClass в правильном порядке (перед всем тестом и после каждого теста). Каждый раз порядок отличается. Я попытался переустановить IDEA, удалить все настройки, но ничего не работает. Пожалуйста помоги. Это пример моего тестового кода:Неверный порядок работы методов JUnit в 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
Хорошо работает в IDEA 14.1.3 с JUnit 4.12. Какие версии вы используете? – Mureinik
В junit порядок выполнения не определен, проверьте ссылку ниже http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4 –
@RafaelGuillen: Это больше для отдельных тестов. Заказ не гарантируется, но он детерминирован. Это касается '@ BeforeClass' и' @ AfterClass'. – Makoto