Является ли запуск тестов с JUnit 3.x vs JUnit 4.x еще лучшей практикой?

Я не смотрел на это некоторое время, но если я правильно напомню, что оба ant и maven все еще полагаются на JUnit 3 для модульных тестов (с maven 2.09 в файле POM по умолчанию все еще есть JUnit 3.81).

Имеет ли смысл придерживаться JUnit 3 вместо того, чтобы использовать последнее и самое лучшее? Любую серьезную причину, по которой я могу пропустить?

Ответ 1

Я не вижу причины придерживаться версий 3.x. Большинство инструментов теперь совместимы с 4.x. Единственная причина, по которой я буду придерживаться 3.x, находится в среде java 1.4 (потому что другого пути нет).

Кстати, maven переключается на Java 5 в 2.1, поэтому есть шанс, что они будут предлагать junit 4.x

Ответ 2

JUnit 4 имеет множество преимуществ по сравнению с 3.x. Самое главное, что вам больше не нужно расширять TestCase, и ваши методы тестирования не должны начинаться с "теста". Теперь все аннотации. Вы также можете добавить сочетания Hamcrest, что дает вам действительно хороший и выразительный способ написания утверждений о тестировании.

Если вы застряли в проекте до Java-1.5, вам, возможно, придется придерживаться JUnit 3.x.

Ответ 3

Есть несколько причин для JUnit 4.x и некоторых против него.

Плюсы:

  • Аннотации легко понять и повысить читаемость.
  • Игнорирование тестов проще.
  • Вы можете назвать методы по своему усмотрению.

Минусы:

  • Вам нужна Java 5 (аннотации).
  • Возможно, требуется миграция (?).

Я использую JUnit 4, потому что это лучше, но это мое личное мнение.

Ответ 4

Ant не отвечает на JUnit 3.

Я бы рекомендовал перейти на новый JUnit по той простой причине, что вы увидите все больше и больше инструментов и примеров, которые только JUnit4. Придерживание JUnit3 означает проживание в истощающейся экосистеме.

Ответ 5

Оба Ant и Maven могут запускать тесты JUnit 4 просто отлично. Единственными причинами использования JUnit 3 являются устаревшие системы: либо вы используете JDK Pre-Java 5, либо имеете обширный инструментарий, который зависит от JUnit 3 и не поддерживает JUnit 4.

Ответ 6

У Maven нет явной привязки к Junit 3.81. Вы можете переключиться на любую версию junit, которую хотите. Если вы используете java 5, я думаю, вы должны переключиться на минимум 4.4 Spring 2.5 несовместимо с 4.5.