2013-02-19 1 views
0

У меня есть перечисление вроде следующего:То же Enum получает общий accross JUnit тесты

public enum MyEnum { 

     FIRST(new FirstOperations()), 
     SECOND(new SecondOperations()) 
... 

Моя проблема заключается в том, что если у меня есть 2 разных классов модульных тестов и как объявить MyEnum my = MyEnum.FIRST; то FirstOperations класс получит экземпляр только по первому тестированию устройства. Второй тестовый пример возобновит его.

Почему JUnit держится за эти перечисления в куче? Не следует ли собирать мусор после завершения первого теста?

+0

Кстати, я использую JUnit 4.11 и Java 7 – DarVar

ответ

0

Перечисления являются прекрасными примерами Singeltons (например, см. here). Вот почему они получают экземпляр только один раз - если вы не разветвляете JVM для каждого теста.

Не полагайтесь на сборщик мусора. Вы никогда не знаете, когда это бежит.

+0

Вилка для каждого теста. Благодарю. – DarVar

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