2015-09-09 9 views
2

Я пытаюсь запустить некоторые тесты junit в Intellij 14 в Windows 7. Я провел эти тесты раньше, много раз, без проблем.Не удается запустить тесты junit в IntelliJ

Вчера я начал получать ошибку только на некоторых тестах:

java.lang.SecurityException: sealing violation: package xxx is sealed 

Я не могу Google до удовлетворительного ответа на это. Сначала я подумал, что это было что-то странное, что внезапно пошло не так в intellij 15, поэтому я вернулся к 14 (также очистил папку настроек), но та же проблема.

Те же тесты, которые запускаются из Linux с использованием скрипта ant и одного и того же файла jar, выполняются просто отлично.

Что означает эта ошибка и что мне нужно сделать, чтобы исправить это?

ответ

0

Похоже, что у вас может быть класс, который упаковывается в несколько банок. У вас есть производство jar и, возможно, тест jar, который разделяет некоторый класс между ними?

+0

У меня нет, есть только один файл jar. – Jon

+0

Я действительно смущен. Если у меня есть тест junit, определенный в «пакете a/b/c/d», используя метод из класса в «package a/b/c», я вижу отказ. Если, OTOH, тест в «пакете a/b/c» ссылается на тот же метод, он отлично работает. Это происходит только в IntelliJ - командная строка из linux отлично работает. В манифесте для банки есть «Запечатанное: истинное» наверху, но это было так долго, и я много раз запускал эти тесты. Остальная часть манифеста просто перечисляет файлы классов. – Jon

+0

Итак, похоже, что вы были на правильном пути. У меня не было нескольких банок, но я обнаружил ситуацию, когда одноэлемент был создан в блоке параметризации (теста junit), затем тот же вызов был снова сделан в конструкторе класса (давний код). Я не понимаю, почему это привело бы к ошибке уплотнения в окнах (он отлично работал на linux), но удаление вызова в блоке параметризации очистило ошибку. У вас есть идея, почему это было ошибкой? – Jon

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