Я столкнулся с той же проблемой, и я исправил ее на плохих примерах в Интернете и внутренних ресурсах junit. По сути, не заставляйте ваш класс расширять TestCase, как показывают некоторые примеры для Junit 4.x. Используйте какое-либо соглашение об именах Test или если вы хотите иметь аннотацию, вы можете использовать @RunWith (JUnit4.class).
Если вам нужен доступ к методам assert, расширьте Assert или используйте статический импорт.
Если ваш класс расширяет TestCase, то даже если вы используете Junit 4 Runner, он будет работать как 3. Это потому, что в коде инициализации есть обнаружение:
См. JUnit3Builder и строки:
boolean isPre4Test(Class<?> testClass) {
return junit.framework.TestCase.class.isAssignableFrom(testClass);
}
Возвращает значение true, и тест на совместимость с junit4 проверяться не будет.