2008-12-01 6 views
11

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

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

ответ

9

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

Кстати, специалист переходит на Java 5 в 2.1, так что есть шанс, что они будут предлагать JUnit 4.x

3

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

+0

Кроме того, re, используя maven, вы, вероятно, должны явно указать, какие параметры источника/цели вы хотите, явным образом настраивая maven-compiler-plugin в вашем POM – toolkit 2008-12-01 14:01:28

+0

. Я знаю, что могу настроить maven для использования любой версии JUnit, которую я предпочитаю, но по умолчанию для архетипа : create все равно 3.81. Просто интересно, есть ли веские причины. – agnul 2008-12-01 14:12:32

8

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

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

4

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

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

6

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

Плюсы:

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

Минусы:

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

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

4

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

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