Испытания, которые распространяются на junit.framework.TestCase
, считаются JUnit3-образными тестами с помощью бегуна JUnit4. См. the source code для AllDefaultPossibilitiesBuilder
для более подробной информации.
Вы можете заставить JUnit4 рассматривать классы, которые расширяют TestCase
как тесты стиля JUnit4, аннотируя классы @RunWith(JUnit4.class)
, но вы почти наверняка не хотите этого делать. Если вы это сделаете, ваши тестовые классы все равно наследуют все методы от junit.framework.TestCase
, но эти методы не будут вызываться. Другими словами, вы бы наследовали много рывков.
Наследование часто является плохим способом совместного использования кода даже в тестах. Если можно поместить общий код в другой класс и делегировать непосредственно из тестовых классов, сделайте это.
Если вы используете JUnit 4.7 или новее, Rules предлагает другой способ совместного использования кода. На правила может повлиять или повлиять на поведение теста.
В очень редких случаях общий код, необходимый нескольким тестовым классам JUnit4, может использоваться совместно с Runner, но поскольку тестовый класс может указывать только один бегун, у бегунов есть те же самые недостатки, что и базовые классы.