Подтвердить что ты не робот

Как использовать JUnit с Eclipse

Я долгое время работаю с Eclipse, но новичком, когда дело доходит до JUnit. У меня много проектов java, и я хочу начать писать тестовые примеры вокруг методов в этих проектах. Мне просто интересно, как лучше настроить среду Eclipse для этой цели. Предположим, у меня типичный проект с типичным каталогом src в указанном пакете. Как присоединить тестовые примеры к этому проекту. Некоторые проблемы: 1. Я не хочу, чтобы тестовые примеры были частью любой сборки, которую я создал в проекте. 2. Я хочу обратиться к кланам в тестовом наборе.

Я установил отдельный тестовый каталог в пакете, который я хочу протестировать? Есть ли у меня отдельный тестовый пакет? Каков наилучший способ сделать это?

4b9b3361

Ответ 1

Это довольно просто:

  • Перетащите или иным образом поместите файл JUnit jar в папку lib, затем измените настройки своих проектов, чтобы включить их.
  • Создайте еще одну исходную папку под вашим проектом под названием "test"
  • Создайте тестовые пакеты под исходной папкой "test" . Лучший практика заключается в том, чтобы имитировать имена пакетов вашего приложения.
  • Создайте тестовые классы внутри тестовых пакетов. Лучшие практики заключается в том, чтобы имитировать ваши классы приложений, требующие тестирования, но добавлять Проверьте в конце имени. Так, например, в вашем основном приложении у вас может быть myapp.service.PrintService и как соответствующий test вы бы получили myapp.service.PrintServiceTest
  • Расширьте каждый тестовый класс из junit.framework.TestCase
  • Запустите тестовые классы с помощью TestRunner.

При создании пакета развертывания приложений просто исключите исходную папку "test" . Теперь, если вам нужна действительно сложная тестовая интеграция, используйте Maven для настройки вашего проекта. Он запекает все лучшие практики для вас сразу с места.

Ответ 2

Лучший (или, по крайней мере, самый распространенный) способ организовать тестовый код, чтобы иметь отдельную исходную папку для тестового кода, тем самым сохраняя его красиво разделенным. В eclipse вы можете добавить исходные папки в разделе "Путь сборки" в свойствах проекта.

Однако также рекомендуется сохранять тестовые классы в тех же пакетах, что и тестируемые классы (т.е. иметь одну и ту же иерархию пакетов в исходной папке). Это позволяет вам проверять код на вызов частных и защищенных методов пакета, что значительно упрощает проверку внутреннего поведения, которое не должно отображаться в общедоступном API.

Ответ 3

Простым решением было бы создать другой исходный каталог специально для связанных с тестированием классов. Например, если ваши основные классы живут в $PROJECT_ROOT/src, вы можете поместить свои классы, связанные с тестированием, в $PROJECT_ROOT/src-test. У меня нет Eclipse, но я знаю, что вы можете изменить файл $PROJECT_ROOT/.classpath (это XML), чтобы включить этот новый каталог:

<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="src" path="src-test"/> <!-- ADD THIS ONE -->
    ...
</classpath>

Теперь все ваши тестовые классы будут видеть основные классы, но они не будут включены в вашу сборку. Обычно я уверен, что тестовый класс живет в том же пакете, что и класс, который он тестирует. Таким образом, любые члены protected могут быть доступны из тестового кода.