2015-09-16 2 views
1

У меня проблема с 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 
+0

Хорошо работает в IDEA 14.1.3 с JUnit 4.12. Какие версии вы используете? – Mureinik

+0

В junit порядок выполнения не определен, проверьте ссылку ниже http://stackoverflow.com/questions/3693626/how-to-run-test-methods-in-specific-order-in-junit4 –

+0

@RafaelGuillen: Это больше для отдельных тестов. Заказ не гарантируется, но он детерминирован. Это касается '@ BeforeClass' и' @ AfterClass'. – Makoto

ответ

3

Что вы, вероятно, наблюдения является тот факт, что выход не всегда будет синхронны в терминале. Тест сам работает в правильной последовательности.

Если бы они не были, то вы бы неудачи в test2, учитывая, что он появился бы, что ваш метод @BeforeClass уволил после.

+0

Иногда тест пытается запустить тесты до того, как методы @Beforclass завершатся и сбой теста из-за отсутствия надлежащего контекста. – Gekster

Смежные вопросы