Как я могу использовать JUnit отдельный ClassLoader
для каждого тестируемого класса, который он выполняет?
Я пишу JUnit TestRunner
для библиотеки, которая устанавливает множество статических переменных. Я по существу хочу reset все это между каждым тестовым классом, не зная, что все они есть. Я не хочу быть связанным с глубоким знанием структуры, так как всякий раз, когда библиотека меняет внутренне, мой TestRunner
будет ломаться.
Прежде чем я пойду дальше, я хочу совершенно ясно, что я действительно хочу это сделать.
- У меня нет контроля над библиотекой.
- У меня нет возможности не использовать статические переменные.
- Я не хочу использовать отражение или Powermock, поскольку я не хочу знать, что происходит в библиотеке.
- Я не хочу использовать конфигурацию Maven для процессов проверки вилки, так как утилита тестирования привязана к инструменту построения.
Каждый другой ответ, который я могу найти в StackOverflow, просто говорит "не делай этого", что не помогает. Первый человек, который отвечает "статическими переменными, тупыми", выигрывает пончик.