Является ли запуск тестов с 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.