Является ли выполнение тестов с JUnit 3.x против JUnit 4.x все еще лучшей практикой? - PullRequest
11 голосов
/ 01 декабря 2008

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

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

Ответы [ 6 ]

9 голосов
/ 01 декабря 2008

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

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

8 голосов
/ 01 декабря 2008

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

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

6 голосов
/ 02 декабря 2008

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

Плюсы:

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

Минусы:

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

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

4 голосов
/ 02 декабря 2008

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

4 голосов
/ 01 декабря 2008

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

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

3 голосов
/ 01 декабря 2008

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...